Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(925)

Unified Diff: media/base/sinc_resampler_perftest.cc

Issue 2556993002: Experiment with AVX optimizations for FMAC, FMUL operations.
Patch Set: Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « media/base/sinc_resampler.cc ('k') | media/base/sinc_resampler_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: media/base/sinc_resampler_perftest.cc
diff --git a/media/base/sinc_resampler_perftest.cc b/media/base/sinc_resampler_perftest.cc
deleted file mode 100644
index 9cb7f4f2e696b9890f820343957c171b2d443526..0000000000000000000000000000000000000000
--- a/media/base/sinc_resampler_perftest.cc
+++ /dev/null
@@ -1,73 +0,0 @@
-// Copyright 2013 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "base/bind.h"
-#include "base/bind_helpers.h"
-#include "base/time/time.h"
-#include "build/build_config.h"
-#include "media/base/sinc_resampler.h"
-#include "testing/gmock/include/gmock/gmock.h"
-#include "testing/gtest/include/gtest/gtest.h"
-#include "testing/perf/perf_test.h"
-
-namespace media {
-
-static const int kBenchmarkIterations = 50000000;
-
-static const double kSampleRateRatio = 192000.0 / 44100.0;
-static const double kKernelInterpolationFactor = 0.5;
-
-// Helper function to provide no input to SincResampler's Convolve benchmark.
-static void DoNothing(int frames, float* destination) {}
-
-// Define platform independent function name for Convolve* tests.
-#if defined(ARCH_CPU_X86_FAMILY)
-#define CONVOLVE_FUNC Convolve_SSE
-#elif defined(ARCH_CPU_ARM_FAMILY) && defined(USE_NEON)
-#define CONVOLVE_FUNC Convolve_NEON
-#endif
-
-static void RunConvolveBenchmark(
- SincResampler* resampler,
- float (*convolve_fn)(const float*, const float*, const float*, double),
- bool aligned,
- const std::string& trace_name) {
- base::TimeTicks start = base::TimeTicks::Now();
- for (int i = 0; i < kBenchmarkIterations; ++i) {
- convolve_fn(resampler->get_kernel_for_testing() + (aligned ? 0 : 1),
- resampler->get_kernel_for_testing(),
- resampler->get_kernel_for_testing(),
- kKernelInterpolationFactor);
- }
- double total_time_milliseconds =
- (base::TimeTicks::Now() - start).InMillisecondsF();
- perf_test::PrintResult("sinc_resampler_convolve",
- "",
- trace_name,
- kBenchmarkIterations / total_time_milliseconds,
- "runs/ms",
- true);
-}
-
-// Benchmark for the various Convolve() methods. Make sure to build with
-// branding=Chrome so that DCHECKs are compiled out when benchmarking.
-TEST(SincResamplerPerfTest, Convolve) {
- SincResampler resampler(kSampleRateRatio,
- SincResampler::kDefaultRequestSize,
- base::Bind(&DoNothing));
-
- RunConvolveBenchmark(
- &resampler, SincResampler::Convolve_C, true, "unoptimized_aligned");
-
-#if defined(CONVOLVE_FUNC)
- RunConvolveBenchmark(
- &resampler, SincResampler::CONVOLVE_FUNC, true, "optimized_aligned");
- RunConvolveBenchmark(
- &resampler, SincResampler::CONVOLVE_FUNC, false, "optimized_unaligned");
-#endif
-}
-
-#undef CONVOLVE_FUNC
-
-} // namespace media
« no previous file with comments | « media/base/sinc_resampler.cc ('k') | media/base/sinc_resampler_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698