Skip to content

Instantly share code, notes, and snippets.

@DenisYaroshevskiy
Last active November 11, 2018 23:34
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save DenisYaroshevskiy/eac461b1f8c2f80ce52790a056e460a8 to your computer and use it in GitHub Desktop.
Save DenisYaroshevskiy/eac461b1f8c2f80ce52790a056e460a8 to your computer and use it in GitHub Desktop.
Benchmarking __half_positive patch on different versions of clang
Clang 3.9:
godbolt: https://gcc.godbolt.org/z/TLjio3
3.9 with __half_positive
--------------------------------------------------------------------------
Benchmark Time CPU Iterations
--------------------------------------------------------------------------
BM_LowerBound/random_int32/1024 125 ns 125 ns 5379856
BM_LowerBound/random_int32/1048576 286 ns 284 ns 2457943
BM_LowerBound/random_int64/1024 126 ns 125 ns 5529968
BM_LowerBound/random_strings/1024 7529 ns 7496 ns 93322
3.9 without __half_positive
--------------------------------------------------------------------------
Benchmark Time CPU Iterations
--------------------------------------------------------------------------
BM_LowerBound/random_int32/1024 150 ns 150 ns 4566180
BM_LowerBound/random_int32/1048576 352 ns 352 ns 1966950
BM_LowerBound/random_int64/1024 150 ns 150 ns 4632019
BM_LowerBound/random_strings/1024 7461 ns 7456 ns 93986
Clang 5.0:
godbolt: https://gcc.godbolt.org/z/fISQS2
5.0 with __half_positive
--------------------------------------------------------------------------
Benchmark Time CPU Iterations
--------------------------------------------------------------------------
BM_LowerBound/random_int32/1024 138 ns 137 ns 5058644
BM_LowerBound/random_int32/1048576 260 ns 259 ns 2668975
BM_LowerBound/random_int64/1024 104 ns 103 ns 6743088
BM_LowerBound/random_strings/1024 1344 ns 1338 ns 532166
5.0 without __half_positive
--------------------------------------------------------------------------
Benchmark Time CPU Iterations
--------------------------------------------------------------------------
BM_LowerBound/random_int32/1024 292 ns 291 ns 2406838
BM_LowerBound/random_int32/1048576 1821 ns 1811 ns 389086
BM_LowerBound/random_int64/1024 292 ns 291 ns 2399569
BM_LowerBound/random_strings/1024 1322 ns 1317 ns 531939
Clang 6.0:
godbolt: https://gcc.godbolt.org/z/bA_E5W
6.0 with __half_positive
--------------------------------------------------------------------------
Benchmark Time CPU Iterations
--------------------------------------------------------------------------
BM_LowerBound/random_int32/1024 119 ns 118 ns 5801714
BM_LowerBound/random_int32/1048576 249 ns 248 ns 2819511
BM_LowerBound/random_int64/1024 130 ns 130 ns 5343919
BM_LowerBound/random_strings/1024 1524 ns 1517 ns 477236
BM_LowerBoundSeanParent 11 ns 11 ns 62049036
6.0 without __half_positive
--------------------------------------------------------------------------
Benchmark Time CPU Iterations
--------------------------------------------------------------------------
BM_LowerBound/random_int32/1024 292 ns 291 ns 2401504
BM_LowerBound/random_int32/1048576 1822 ns 1815 ns 386663
BM_LowerBound/random_int64/1024 293 ns 292 ns 2384903
BM_LowerBound/random_strings/1024 1496 ns 1491 ns 473514
BM_LowerBoundSeanParent 25 ns 25 ns 28026233
Clang 7.0:
godbolt: https://gcc.godbolt.org/z/9-HUFd
7.0 with __half_positive
--------------------------------------------------------------------------
Benchmark Time CPU Iterations
--------------------------------------------------------------------------
BM_LowerBound/random_int32/1024 96 ns 96 ns 7078930
BM_LowerBound/random_int32/1048576 251 ns 250 ns 2785116
BM_LowerBound/random_int64/1024 119 ns 119 ns 5758047
BM_LowerBound/random_strings/1024 1397 ns 1391 ns 504490
BM_LowerBoundSeanParent 11 ns 11 ns 61170097
7.0 without __half_positive
--------------------------------------------------------------------------
Benchmark Time CPU Iterations
--------------------------------------------------------------------------
BM_LowerBound/random_int32/1024 304 ns 304 ns 2310040
BM_LowerBound/random_int32/1048576 1790 ns 1783 ns 392788
BM_LowerBound/random_int64/1024 305 ns 304 ns 2298315
BM_LowerBound/random_strings/1024 1432 ns 1427 ns 489360
BM_LowerBoundSeanParent 26 ns 26 ns 25977496
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment