| Index: third_party/grpc/test/cpp/qps/qps_test_with_poll.cc
|
| diff --git a/third_party/WebKit/Source/core/animation/animatable/AnimatableImage.cpp b/third_party/grpc/test/cpp/qps/qps_test_with_poll.cc
|
| similarity index 55%
|
| copy from third_party/WebKit/Source/core/animation/animatable/AnimatableImage.cpp
|
| copy to third_party/grpc/test/cpp/qps/qps_test_with_poll.cc
|
| index 171bbfa52853035aac9a5a8b842d92fe40fdd058..8340a6386a5f8c433ee1dcd9fff69f918119188f 100644
|
| --- a/third_party/WebKit/Source/core/animation/animatable/AnimatableImage.cpp
|
| +++ b/third_party/grpc/test/cpp/qps/qps_test_with_poll.cc
|
| @@ -1,5 +1,7 @@
|
| /*
|
| - * Copyright (C) 2013 Google Inc. All rights reserved.
|
| + *
|
| + * Copyright 2015-2016, Google Inc.
|
| + * All rights reserved.
|
| *
|
| * Redistribution and use in source and binary forms, with or without
|
| * modification, are permitted provided that the following conditions are
|
| @@ -26,40 +28,58 @@
|
| * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
| * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
| * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
| + *
|
| */
|
|
|
| -#include "core/animation/animatable/AnimatableImage.h"
|
| +#include <set>
|
|
|
| -#include "core/css/CSSImageValue.h"
|
| -#include "core/style/StyleGeneratedImage.h"
|
| -#include "wtf/MathExtras.h"
|
| +#include <grpc/support/log.h>
|
|
|
| -namespace blink {
|
| +#include "test/cpp/qps/driver.h"
|
| +#include "test/cpp/qps/report.h"
|
| +#include "test/cpp/util/benchmark_config.h"
|
|
|
| -// FIXME: Once cross-fade works on generated image types, remove this method.
|
| -bool AnimatableImage::usesDefaultInterpolationWith(const AnimatableValue* value) const
|
| -{
|
| - if (!m_value->isImageValue())
|
| - return true;
|
| - if (!toAnimatableImage(value)->toCSSValue()->isImageValue())
|
| - return true;
|
| - return false;
|
| +extern "C" {
|
| +#include "src/core/iomgr/pollset_posix.h"
|
| }
|
|
|
| -PassRefPtr<AnimatableValue> AnimatableImage::interpolateTo(const AnimatableValue* value, double fraction) const
|
| -{
|
| - if (fraction <= 0 || fraction >= 1 || usesDefaultInterpolationWith(value))
|
| - return defaultInterpolateTo(this, value, fraction);
|
| +namespace grpc {
|
| +namespace testing {
|
|
|
| - CSSValue* fromValue = toCSSValue();
|
| - CSSValue* toValue = toAnimatableImage(value)->toCSSValue();
|
| +static const int WARMUP = 5;
|
| +static const int BENCHMARK = 5;
|
|
|
| - return create(CSSCrossfadeValue::create(fromValue, toValue, CSSPrimitiveValue::create(fraction, CSSPrimitiveValue::UnitType::Number)));
|
| -}
|
| +static void RunQPS() {
|
| + gpr_log(GPR_INFO, "Running QPS test");
|
| +
|
| + ClientConfig client_config;
|
| + client_config.set_client_type(ASYNC_CLIENT);
|
| + client_config.set_outstanding_rpcs_per_channel(1000);
|
| + client_config.set_client_channels(8);
|
| + client_config.set_async_client_threads(8);
|
| + client_config.set_rpc_type(UNARY);
|
| + client_config.mutable_load_params()->mutable_closed_loop();
|
| +
|
| + ServerConfig server_config;
|
| + server_config.set_server_type(ASYNC_SERVER);
|
| + server_config.set_async_server_threads(4);
|
| +
|
| + const auto result =
|
| + RunScenario(client_config, 1, server_config, 1, WARMUP, BENCHMARK, -2);
|
|
|
| -bool AnimatableImage::equalTo(const AnimatableValue* value) const
|
| -{
|
| - return m_value->equals(*toAnimatableImage(value)->m_value.get());
|
| + GetReporter()->ReportQPSPerCore(*result);
|
| + GetReporter()->ReportLatency(*result);
|
| }
|
|
|
| -} // namespace blink
|
| +} // namespace testing
|
| +} // namespace grpc
|
| +
|
| +int main(int argc, char** argv) {
|
| + grpc::testing::InitBenchmark(&argc, &argv, true);
|
| +
|
| + grpc_platform_become_multipoller = grpc_poll_become_multipoller;
|
| +
|
| + grpc::testing::RunQPS();
|
| +
|
| + return 0;
|
| +}
|
|
|