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/src/cartridge
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
..
backup [perf] arm: Improve performance with barrel shifter. 2021-06-05 18:54:46 +03:00
builder.rs core: Add error handling to cartridge header parsing 2020-05-30 15:35:12 +03:00
gpio.rs Refactor dir rustboyadvance-core -> core 2020-05-30 13:43:37 +03:00
header.rs core: cartridge: Don't error when the checksum is invalid. 2020-10-17 06:52:45 -07:00
loader.rs Refactor dir rustboyadvance-core -> core 2020-05-30 13:43:37 +03:00
mod.rs [WIP] Gamepak unused addresses 2020-10-17 06:53:28 -07:00
rtc.rs Refactor dir rustboyadvance-core -> core 2020-05-30 13:43:37 +03:00