about summary refs log tree commit diff
path: root/third_party/abseil_cpp/absl/random/internal/nanobenchmark_test.cc
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/abseil_cpp/absl/random/internal/nanobenchmark_test.cc')
-rw-r--r--third_party/abseil_cpp/absl/random/internal/nanobenchmark_test.cc77
1 files changed, 0 insertions, 77 deletions
diff --git a/third_party/abseil_cpp/absl/random/internal/nanobenchmark_test.cc b/third_party/abseil_cpp/absl/random/internal/nanobenchmark_test.cc
deleted file mode 100644
index f1571e269f..0000000000
--- a/third_party/abseil_cpp/absl/random/internal/nanobenchmark_test.cc
+++ /dev/null
@@ -1,77 +0,0 @@
-// Copyright 2017 Google Inc. All Rights Reserved.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     https://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-#include "absl/random/internal/nanobenchmark.h"
-
-#include "absl/base/internal/raw_logging.h"
-#include "absl/strings/numbers.h"
-
-namespace absl {
-ABSL_NAMESPACE_BEGIN
-namespace random_internal_nanobenchmark {
-namespace {
-
-uint64_t Div(const void*, FuncInput in) {
-  // Here we're measuring the throughput because benchmark invocations are
-  // independent.
-  const int64_t d1 = 0xFFFFFFFFFFll / int64_t(in);  // IDIV
-  return d1;
-}
-
-template <size_t N>
-void MeasureDiv(const FuncInput (&inputs)[N]) {
-  Result results[N];
-  Params params;
-  params.max_evals = 6;  // avoid test timeout
-  const size_t num_results = Measure(&Div, nullptr, inputs, N, results, params);
-  if (num_results == 0) {
-    ABSL_RAW_LOG(
-        WARNING,
-        "WARNING: Measurement failed, should not happen when using "
-        "PinThreadToCPU unless the region to measure takes > 1 second.\n");
-    return;
-  }
-  for (size_t i = 0; i < num_results; ++i) {
-    ABSL_RAW_LOG(INFO, "%5zu: %6.2f ticks; MAD=%4.2f%%\n", results[i].input,
-                 results[i].ticks, results[i].variability * 100.0);
-    ABSL_RAW_CHECK(results[i].ticks != 0.0f, "Zero duration");
-  }
-}
-
-void RunAll(const int argc, char* argv[]) {
-  // Avoid migrating between cores - important on multi-socket systems.
-  int cpu = -1;
-  if (argc == 2) {
-    if (!absl::SimpleAtoi(argv[1], &cpu)) {
-      ABSL_RAW_LOG(FATAL, "The optional argument must be a CPU number >= 0.\n");
-    }
-  }
-  PinThreadToCPU(cpu);
-
-  // unpredictable == 1 but the compiler doesn't know that.
-  const FuncInput unpredictable = argc != 999;
-  static const FuncInput inputs[] = {unpredictable * 10, unpredictable * 100};
-
-  MeasureDiv(inputs);
-}
-
-}  // namespace
-}  // namespace random_internal_nanobenchmark
-ABSL_NAMESPACE_END
-}  // namespace absl
-
-int main(int argc, char* argv[]) {
-  absl::random_internal_nanobenchmark::RunAll(argc, argv);
-  return 0;
-}