Open aehancoc opened 6 months ago
I'm realizing the benchmarks might be easier to read if the benchmarks are ported to Criterion. There's almost certainly a good bit of jitter from the initial lazy load.
Hey, long time no see. Thanks for maintaining this in my absence. (In case you're wondering, my old account was tied to my university email, which I lost access to.)
You’re welcome! And if you’re interested at any point in being the maintainer (or a co-maintainter) of this package again, just let me know. I don’t actually use this library in my other projects anymore, though I’m happy to continue keeping it up to date for others.
Hey, long time no see. Thanks for maintaining this in my absence. (In case you're wondering, my old account was tied to my university email, which I lost access to.)
Anywho, I chose
fnv
back in https://github.com/mbrubeck/tree_magic/commit/b93b80f8d39796a389d90d5686dfa80f100275cf becausestd::collections::HashMap
had somewhat worse performance. It seems things have changed, and nowstd
's hashmap/hashset is better now.fnv
is also really terrible with larger keys, which we're dealing with here due to using strings to store MIME types. I also took the liberty of adding the new test files to the benchmarks and removing the duplicate files there.Some numbers from my Intel Core i5-1135G7:
fnv
std::collections
It's not a substantial improvement, but it's something, and it lets us drop a dependency. Feel free to test on your machine. Keep in mind that individual test performance for
from_u8
is dependent in part on whatever order the graph nodes get inserted in.