Re:Performance Showdown: Rust vs Javascript (2020)
by gregod on Friday February 12, 2021 @09:24AM
(#26113919)
Good point. Here it is premature optimization anyway and too dependent on the input. In general, I think a balance between likelihood and cost should be found.
Out of curiosity, I just did a small benchmark (criterion) using the input.txt provided, and reordering results in a 10% difference:
Old Order time:[307.28 us 309.12 us 311.17 us]
Reversed time:[270.82 us 271.18 us 271.54 us]
This feels weird since the input.txt contains few pairs of equal characters, so there is likely something else going on. The inequality is very inexpensive but the ignore case compare should not be that expensive either.
Re:Performance Showdown: Rust vs Javascript (2020)
by rossmohax on Friday February 12, 2021 @09:55AM
(#26114256)
What if you add PGO to the mix, how fast it is going to be?
Re:Performance Showdown: Rust vs Javascript (2020)
by gregod on Friday February 12, 2021 @10:36AM
(#26114793)
Weirdly enough, PGO equalizes and increases the runtime, where both methods take approximately 330 us. (I simply applied PGO to the full benchmark harness, no idea if this is proper). Them being equal sounds more reasonable, but the increase in runtime doesn't feel right.
Micro benchmarking remains a fickle beast :)
I think the given ordering is better: in a conjuction, you typically put the less likely condition first, not the cheaper one.