20506091cc
Instead of using a struct member to hold the last barrel shifter carry output, which is expansive as it needs to be saved/loaded from memory, I now pass the carry around as an INOUT parameter. Using perf anotate really shows high perctile of samples being spent on reading/writing `self.bs_carry_out` Since this is a rather "surgical" changeset, I have made sure to run it against eggvance test suite, mGBA test suite and some games as well. I actually saw better improvements than what the benchmark measured, but 7% is decent enough :) ``` run_60_frames time: [180.18 ms 180.45 ms 180.77 ms] change: [-7.2464% -6.9081% -6.6324%] (p = 0.00 < 0.05) Performance has improved. ``` Former-commit-id: 7cd7105a07aa0b78cab9dc8bbae3682b02b7ab7c Former-commit-id: c68514beb3fa6c34f5f65544acbead21e527dbb0 |
||
---|---|---|
.. | ||
benches | ||
src | ||
BENCHMARK.md | ||
build.rs | ||
Cargo.toml | ||
overrides.yaml |