This repository has been archived on 2024-06-01. You can view files and clone it, but cannot push or open issues or pull requests.
rustboyadvance-ng/core
Michel Heily 20506091cc [perf] arm: Improve performance with barrel shifter.
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
2021-06-05 18:54:46 +03:00
..
benches core: Add performance benchmark 2020-11-05 15:40:39 -08:00
src [perf] arm: Improve performance with barrel shifter. 2021-06-05 18:54:46 +03:00
BENCHMARK.md core: Add performance benchmark 2020-11-05 15:40:39 -08:00
build.rs Everyday I'm ~~shuffeling~~ refactoring. 2020-10-17 06:36:02 -07:00
Cargo.toml [perf] core: gpu: Refactor to use unpacked mmio configuration during rendering 2020-11-06 06:26:00 -08:00
overrides.yaml Refactor dir rustboyadvance-core -> core 2020-05-30 13:43:37 +03:00