sozu-proxy / circular

stream abstraction designed for use with nom
MIT License
11 stars 7 forks source link

Add inline annotations #8

Open joeri opened 1 year ago

joeri commented 1 year ago

Without enabling link time optimization (LTO) there will never be any inlining across crate boundaries. These methods will be mostly called from other crates, they are small and used in hot loops.

On a branch of rust-png-reader that was made to use Circular this change reduced the runtime of one benchmark test from 3 minutes 30 seconds to 1 minute 40 seconds (so over 50%).

(The benchmark is running the example/stats binary on a large (50GB) PGN file downloaded from the lichess DB)