Skip to content
Snippets Groups Projects
Unverified Commit c3917750 authored by Thorsten Hater's avatar Thorsten Hater Committed by GitHub
Browse files

Switch `std::string` -> hashes for label resolution. (#2215)

Use the simple but well-known FNV-1a hash function to map
`cell_tag_type` aka `std::string` to an `uint64_t`
for label resolution. The former type has a size of 32B or more and the
latter 8B, thus cutting the storage and bandwidth
requirements by 3/4. 

The hash function is implemented from the reference given on the
authors' website/wikipedia and is extremely
simple. If we ever experience issues, we might consider switching this
to something of higher quality via an
external library, candidates are `xxHASH` and `Murmur3`.

https://github.com/Cyan4973/xxHash

Note: This should further relieve the memory pressure on larger scale
simulation as formulated in #1969 and make
#2005 less urgent.

There is no performance impact (at laptop scale), but the memory savings
are worth it.
parent db868d31
No related branches found
No related tags found
No related merge requests found
Showing
with 298 additions and 180 deletions
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment