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

drt: Use boost flat hashmap when beneficial #6253

Draft
wants to merge 6 commits into
base: master
Choose a base branch
from

Conversation

sgizler
Copy link

@sgizler sgizler commented Nov 27, 2024

  • Bump boost to get flat hashtables
  • Replace std::set indexed by pair of Points with boost boost::unordered_flat_set
  • Replace std::map indexed by Point3D with boost::unordered_flat_map
  • Replace std::unordered_map with boost::unordered_flat_map (this was the single case, in which DRT already used hashtable rather than search tree)

Benchmarks of drt:

ibex, PDK: asap7

Branch Min [s] Max [s] Mean [s] Relative mean Median [s] Relative median
boost-flat-hashmap-opt 286.27 287.44 286.77 ± 0.35 1.00 ± 0.00 286.73 1.00
baseline 290.79 292.14 291.41 ± 0.41 1.02 ± 0.00 291.35 1.02
boost-1.86 290.49 292.40 291.36 ± 0.54 1.02 ± 0.00 291.26 1.02

ibex, PDK: nangate45

Branch Min [s] Max [s] Mean [s] Relative mean Median [s] Relative median
boost-flat-hashmap-opt 87.66 88.38 88.00 ± 0.17 1.00 ± 0.00 88.00 1.00
baseline 89.15 89.83 89.39 ± 0.22 1.02 ± 0.00 89.31 1.01
boost-1.86 89.11 89.51 89.33 ± 0.12 1.02 ± 0.00 89.31 1.01

black_parrot, PDK: nangate45

Branch Min [s] Max [s] Mean [s] Relative mean Median [s] Relative median
boost-flat-hashmap-opt 1035.30 1039.40 1036.90 ± 1.01 1.00 ± 0.00 1036.85 1.00
baseline 1056.01 1057.20 1056.48 ± 0.33 1.02 ± 0.00 1056.44 1.02
boost-1.86 1057.09 1058.94 1057.84 ± 0.54 1.02 ± 0.00 1057.72 1.02

@maliberty
Copy link
Member

Please fix the missing DCO (see the details like).

@vvbandeira
Copy link
Member

Please also merge or rebase the master branch into your branch to get the latest changes to CI so pr-head can build.

@sgizler sgizler marked this pull request as draft November 28, 2024 18:53
Signed-off-by: Szymon Gizler <[email protected]>
It seems, that after rebasing on @93819d5, `node_map_` map started
being order-sensitive what prevents us from converting it to hashmap

Signed-off-by: Szymon Gizler <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants