Hi all,
I wrote a
short doc on how we can speed up insertion into the AtomicStringTable,
which is in particular hot on VanillaJS Speedometer3 stories. The idea is:
- use crc32 for short strings (one-word and two-words) for hashing, which is
faster for short strings than rapidhash (see the doc),
- store short strings in separate tables and cache them inlined in the backing,
to avoid indirection on comparison.
On Linux I see a 33% speedup for AtomicStringTable::Add() when running the S3
TodoMVC-JavaScript.* stories. On M1 the S3 total score improvement is 0.3%.