Michael Lippautz
5ab2769012
cppgc: Add micro benchmark for tracing objects
...
The benchmarks cover static vs dynamic tracing of an object where the
header is computed statically vs using the object start bitmap,
respectively.
$ out/x64.release/cppgc_basic_benchmarks --benchmark_filter=Trace/*
Running out/x64.release/cppgc_basic_benchmarks
Run on (56 X 3500 MHz CPU s)
CPU Caches:
L1 Data 32 KiB (x28)
L1 Instruction 32 KiB (x28)
L2 Unified 256 KiB (x28)
L3 Unified 35840 KiB (x2)
Load Average: 0.24, 0.26, 0.26
--------------------------------------------------------
Benchmark Time CPU Iterations
--------------------------------------------------------
Trace/Static 1.78 ns 1.78 ns 393324147
Trace/Dynamic 3.27 ns 3.27 ns 215078276
2020-07-03T15: 21:25+02:00
Change-Id: I8bf5a8ed71a8991873160353e26f96214c038730
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2280099
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Reviewed-by: Anton Bikineev <bikineev@chromium.org>
Reviewed-by: Omer Katz <omerkatz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68675}
2020-07-03 14:50:43 +00:00
Michael Lippautz
66fc94313b
cppgc: Add allocation benchmark
...
Output:
$ out/x64.release/cppgc_allocation_benchmark --benchmark_repetitions=3
Running out/x64.release/cppgc_allocation_benchmark
Run on (56 X 3500 MHz CPU s)
CPU Caches:
L1 Data 32 KiB (x28)
L1 Instruction 32 KiB (x28)
L2 Unified 256 KiB (x28)
L3 Unified 35840 KiB (x2)
Load Average: 0.23, 0.27, 0.27
--------------------------------------------------------------------------------
Benchmark Time CPU Iterations UserCounters...
--------------------------------------------------------------------------------
Allocate/Tiny 17.0 ns 17.0 ns 40348381 bytes_per_second=55.9692M/s
Allocate/Tiny 17.1 ns 17.1 ns 40348381 bytes_per_second=55.8961M/s
Allocate/Tiny 17.2 ns 17.2 ns 40348381 bytes_per_second=55.3108M/s
Allocate/Tiny_mean 17.1 ns 17.1 ns 3 bytes_per_second=55.7254M/s
Allocate/Tiny_median 17.1 ns 17.1 ns 3 bytes_per_second=55.8961M/s
Allocate/Tiny_stddev 0.112 ns 0.111 ns 3 bytes_per_second=369.571k/s
Allocate/Large 40339 ns 40334 ns 17707 bytes_per_second=1.51326G/s
Allocate/Large 40350 ns 40343 ns 17707 bytes_per_second=1.51292G/s
Allocate/Large 40205 ns 40192 ns 17707 bytes_per_second=1.51861G/s
Allocate/Large_mean 40298 ns 40290 ns 3 bytes_per_second=1.51493G/s
Allocate/Large_median 40339 ns 40334 ns 3 bytes_per_second=1.51326G/s
Allocate/Large_stddev 81.2 ns 84.7 ns 3 bytes_per_second=3.26614M/s
2020-07-03T09: 14:23+02:00
Change-Id: I25a55beb5ea1718af76e638b752bf7d67cfe373e
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2280086
Reviewed-by: Anton Bikineev <bikineev@chromium.org>
Reviewed-by: Omer Katz <omerkatz@chromium.org>
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68672}
2020-07-03 11:58:21 +00:00