Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

R5900: Improve the EE cache performance #12108

Merged
merged 3 commits into from
Dec 27, 2024
Merged

R5900: Improve the EE cache performance #12108

merged 3 commits into from
Dec 27, 2024

Conversation

F0bes
Copy link
Member

@F0bes F0bes commented Dec 19, 2024

Description of Changes

I had a list of optimizations here beforehand (you can view the edit history), but I've replaced it all with SIMD.
When we check to see if an address is part of a cached TLB entry we can do 4 at a time instead of one.

Rationale behind Changes

I want to get more familiar with VTune profiling. The EE cache is also very slow.

Suggested Testing Steps

Test games that require EE cache with this PR (ensure any patches we have for the game are disabled)
Run the EE cache and compare the speed to master.

@JordanTheToaster
Copy link
Member

Just one benchmark for now but in Ape Escape 2 EE cache is 48% faster with the PR.

image

@JordanTheToaster
Copy link
Member

With 128 bit SIMD Ape Escape 2 is now 240% faster than master.

image

@F0bes F0bes marked this pull request as ready for review December 26, 2024 19:35
@F0bes
Copy link
Member Author

F0bes commented Dec 26, 2024

Okay, this has changed a bunch from the first iteration. I would love for some people to compare the EE cache performance before and after. The increase in performance seems substantial so I'm confident that this is nothing but more performance for all hardware configurations.

@Mrlinkwii
Copy link
Contributor

some good increases acrros the board , im on about a decade old cpu

image

image

@F0bes
Copy link
Member Author

F0bes commented Dec 27, 2024

Tested with kill.switch (without the patch) and a custom elf that tests locking half of the cache and they both work. yolo

@F0bes F0bes merged commit 9a75509 into master Dec 27, 2024
21 checks passed
@lightningterror lightningterror deleted the I_HEART_EE_CACHE branch January 3, 2025 00:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants