roc/crates/compiler/module/src
Brendan Hansknecht 51ec4311b5
Swap Dict implementation to ankerl dense unordered
ankerl::dense_unordered is a very fast hash map that is built to be an index map.
This enables extra optimizations compared to just wrapping a regular hash map.
As such, I think this map is very well suited for our index map impl in Roc.
I also think this dictionary implementation is simpler overall.
On top of that, this removes the need for SIMD instructions for peak performance.

Benchmarks of the C++ version and other C++ hash maps are here: https://martin.ankerl.com/2022/08/27/hashmap-bench-01/
Though this has clear bias of being written by the author of ankerl::dense_unordered,
the results all look correct and the benchmarks thorough.
2023-12-09 18:11:22 -08:00
..
called_via.rs Show the right fct name in type error messages 2023-11-16 16:44:55 +01:00
ident.rs Make Inspect a builtin 2023-08-10 21:47:42 -04:00
lib.rs Mutex::new() is now const 2022-11-09 17:51:43 +01:00
low_level.rs Switch Num.tan to a zig builtin 2023-09-16 21:27:51 -07:00
module_err.rs moved all crates into seperate folder + related path fixes 2022-07-01 17:37:43 +02:00
symbol.rs Swap Dict implementation to ankerl dense unordered 2023-12-09 18:11:22 -08:00