Closed ioquatix closed 1 month ago
Minor performance improvement as demonstrated by attached benchmarks.
samuel@Sakura ~/D/s/a/b/timers (use-io-event-timers)> bundle exec ./after_0.rb ruby 3.3.0 (2023-12-25 revision 5124f9ac75) [arm64-darwin23] Warming up -------------------------------------- Timers::Group 65.144k i/100ms IO::Event::Timers 130.653k i/100ms Calculating ------------------------------------- Timers::Group 658.748k (± 0.5%) i/s - 716.584k in 1.087824s IO::Event::Timers 1.304M (± 0.2%) i/s - 1.307M in 1.002237s Comparison: IO::Event::Timers: 1303616.9 i/s Timers::Group: 658747.8 i/s - 1.98x slower samuel@Sakura ~/D/s/a/b/timers (use-io-event-timers)> bundle exec ./after_n.rb ruby 3.3.0 (2023-12-25 revision 5124f9ac75) [arm64-darwin23] Warming up -------------------------------------- Timers::Group 13.982k i/100ms IO::Event::Timers 21.496k i/100ms Calculating ------------------------------------- Timers::Group 154.925k (± 0.8%) i/s - 167.784k in 1.083072s IO::Event::Timers 230.674k (± 0.3%) i/s - 236.456k in 1.025078s Comparison: IO::Event::Timers: 230673.5 i/s Timers::Group: 154925.4 i/s - 1.49x slower samuel@Sakura ~/D/s/a/b/timers (use-io-event-timers)> bundle exec ./after_cancel.rb ruby 3.3.0 (2023-12-25 revision 5124f9ac75) [arm64-darwin23] Warming up -------------------------------------- Timers::Group 101.792k i/100ms IO::Event::Timers 232.860k i/100ms Calculating ------------------------------------- Timers::Group 1.006M (± 1.0%) i/s - 1.018M in 1.011619s IO::Event::Timers 2.544M (± 3.2%) i/s - 2.561M in 1.008093s Comparison: IO::Event::Timers: 2543646.0 i/s Timers::Group: 1006322.4 i/s - 2.53x slower
This was always on the cards, I just hadn't gotten around to it.
Minor performance improvement as demonstrated by attached benchmarks.
This was always on the cards, I just hadn't gotten around to it.
Types of Changes
Contribution