summaryrefslogtreecommitdiff
path: root/chromium/third_party/blink/renderer/platform/heap/write_barrier_perftest.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/blink/renderer/platform/heap/write_barrier_perftest.cc')
-rw-r--r--chromium/third_party/blink/renderer/platform/heap/write_barrier_perftest.cc40
1 files changed, 26 insertions, 14 deletions
diff --git a/chromium/third_party/blink/renderer/platform/heap/write_barrier_perftest.cc b/chromium/third_party/blink/renderer/platform/heap/write_barrier_perftest.cc
index 2cc9848ddbd..92bf0523d47 100644
--- a/chromium/third_party/blink/renderer/platform/heap/write_barrier_perftest.cc
+++ b/chromium/third_party/blink/renderer/platform/heap/write_barrier_perftest.cc
@@ -4,7 +4,7 @@
#include "base/callback.h"
#include "testing/gtest/include/gtest/gtest.h"
-#include "testing/perf/perf_test.h"
+#include "testing/perf/perf_result_reporter.h"
#include "third_party/blink/renderer/platform/heap/heap_test_utilities.h"
#include "third_party/blink/renderer/platform/heap/persistent.h"
@@ -14,6 +14,21 @@ class WriteBarrierPerfTest : public TestSupportingGC {};
namespace {
+constexpr char kMetricPrefixWriteBarrier[] = "WriteBarrier.";
+constexpr char kMetricWritesDuringGcRunsPerS[] = "writes_during_gc";
+constexpr char kMetricWritesOutsideGcRunsPerS[] = "writes_outside_gc";
+constexpr char kMetricRelativeSpeedDifferenceUnitless[] =
+ "relative_speed_difference";
+
+perf_test::PerfResultReporter SetUpReporter(const std::string& story_name) {
+ perf_test::PerfResultReporter reporter(kMetricPrefixWriteBarrier, story_name);
+ reporter.RegisterImportantMetric(kMetricWritesDuringGcRunsPerS, "runs/s");
+ reporter.RegisterImportantMetric(kMetricWritesOutsideGcRunsPerS, "runs/s");
+ reporter.RegisterImportantMetric(kMetricRelativeSpeedDifferenceUnitless,
+ "unitless");
+ return reporter;
+}
+
class PerfDummyObject : public GarbageCollected<PerfDummyObject> {
public:
PerfDummyObject() = default;
@@ -61,19 +76,16 @@ TEST_F(WriteBarrierPerfTest, MemberWritePerformance) {
PreciselyCollectGarbage();
// Reporting.
- perf_test::PrintResult(
- "WriteBarrierPerfTest", " writes during GC", "",
- static_cast<double>(kNumElements) / during_gc_duration.InMillisecondsF(),
- "writes/ms", true);
- perf_test::PrintResult(
- "WriteBarrierPerfTest", " writes outside GC", "",
- static_cast<double>(kNumElements) / outside_gc_duration.InMillisecondsF(),
- "writes/ms", true);
- perf_test::PrintResult("WriteBarrierPerfTest", " relative speed difference",
- "",
- during_gc_duration.InMillisecondsF() /
- outside_gc_duration.InMillisecondsF(),
- "times", true);
+ auto reporter = SetUpReporter("member_write_performance");
+ reporter.AddResult(
+ kMetricWritesDuringGcRunsPerS,
+ static_cast<double>(kNumElements) / during_gc_duration.InSecondsF());
+ reporter.AddResult(
+ kMetricWritesOutsideGcRunsPerS,
+ static_cast<double>(kNumElements) / outside_gc_duration.InSecondsF());
+ reporter.AddResult(
+ kMetricRelativeSpeedDifferenceUnitless,
+ during_gc_duration.InSecondsF() / outside_gc_duration.InSecondsF());
}
} // namespace blink