Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

A benchmark for the PCP tree #3435

Merged
merged 4 commits into from
Sep 5, 2022
Merged

Conversation

pleroy
Copy link
Member

@pleroy pleroy commented Sep 4, 2022

No optimization so far. It demonstrates that there is a sweet spot in the number of values per node for the query. Related to #3358.

The numbers:

Run on (4 X 3310 MHz CPU s)
CPU Caches:
  L1 Data 32 KiB (x4)
  L1 Instruction 32 KiB (x4)
  L2 Unified 256 KiB (x4)
  L3 Unified 6144 KiB (x1)
--------------------------------------------------------------------------------
Benchmark                                      Time             CPU   Iterations
--------------------------------------------------------------------------------
BM_PCPBuildTree/1000/1                   1742994 ns      1737205 ns          449
BM_PCPBuildTree/1000/4                    703417 ns       695192 ns         1122
BM_PCPBuildTree/1000/16                   387528 ns       383746 ns         1870
BM_PCPBuildTree/1000/64                   248415 ns       250353 ns         2991
BM_PCPBuildTree/1000/256                  184105 ns       183580 ns         3739
BM_PCPBuildTree/10000/1                 18981213 ns     18973095 ns           37
BM_PCPBuildTree/10000/4                 10173109 ns      9984064 ns           75
BM_PCPBuildTree/10000/16                 5766233 ns      5710751 ns          112
BM_PCPBuildTree/10000/64                 4062164 ns      3967655 ns          173
BM_PCPBuildTree/10000/256                3333376 ns      3288256 ns          204
BM_PCPBuildTree/100000/1               190323815 ns    182001167 ns            3
BM_PCPBuildTree/100000/4               112673797 ns    114400733 ns            6
BM_PCPBuildTree/100000/16               67603615 ns     65236782 ns           11
BM_PCPBuildTree/100000/64               53451681 ns     54600350 ns           10
BM_PCPBuildTree/100000/256              45305502 ns     44964994 ns           17
BM_PCPFindNearestNeighbour/1000/1           2060 ns         2034 ns       345165
BM_PCPFindNearestNeighbour/1000/4           1098 ns         1095 ns       641022
BM_PCPFindNearestNeighbour/1000/16           754 ns          730 ns       897430
BM_PCPFindNearestNeighbour/1000/64           713 ns          723 ns      1121788
BM_PCPFindNearestNeighbour/1000/256         1214 ns         1217 ns       641022
BM_PCPFindNearestNeighbour/10000/1          5000 ns         5148 ns       100000
BM_PCPFindNearestNeighbour/10000/4          3192 ns         3171 ns       236166
BM_PCPFindNearestNeighbour/10000/16         1921 ns         1874 ns       407923
BM_PCPFindNearestNeighbour/10000/64         1372 ns         1363 ns       560894
BM_PCPFindNearestNeighbour/10000/256        1628 ns         1599 ns       448715
BM_PCPFindNearestNeighbour/100000/1        29201 ns        28439 ns       897430
BM_PCPFindNearestNeighbour/100000/4        15000 ns        14115 ns       897430
BM_PCPFindNearestNeighbour/100000/16        6248 ns         6202 ns      1121788
BM_PCPFindNearestNeighbour/100000/64        4096 ns         4068 ns       897430
BM_PCPFindNearestNeighbour/100000/256       4506 ns         4422 ns       373929

@eggrobin eggrobin added the LGTM label Sep 5, 2022
@pleroy pleroy merged commit 10e7e3d into mockingbirdnest:master Sep 5, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants