Pass owned strings to id_from_canonical instead of references
Precalculate the length of evaluated strings, and reserve space in the result string
Only hash strings once in id_from_canonical
Switch some HashMaps to FxHashMaps
These changes give about a 20% performance improvement to bench_load_synthetic, and save a couple seconds off of loading the android ninja files. Most of this is from the switch to FxHashMap, the other changes are only around a 5% improvement.
If you have concerns about any of these commits let me know and I'll take those ones out of the PR.
These changes give about a 20% performance improvement to bench_load_synthetic, and save a couple seconds off of loading the android ninja files. Most of this is from the switch to FxHashMap, the other changes are only around a 5% improvement.
If you have concerns about any of these commits let me know and I'll take those ones out of the PR.