-
-
Notifications
You must be signed in to change notification settings - Fork 1.9k
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
LV2 Optimizations #12378
LV2 Optimizations #12378
Conversation
88b6204
to
44d295d
Compare
The latest commit reduces the time a made-up test finishes by 4 times compared to master, all the test does is lock and unlock sys_mutex_t on multiple threads. Keep in mind this won't scale as nicely to games. |
debd36c
to
392584f
Compare
Same when increasing PPU threads count (debug tab)? Especially on low thread count cpus. |
919cb02
to
aa197e6
Compare
Added perf diff. |
f4e53d9
to
4f4682f
Compare
What's PS3 performance of the test? Also is any game found that benefits from it? |
Latest commit greatly narrows the gap between 4 PPU threads and 2. Keep in mind that this is a stress test, 4 PPU threads should still be faster in compatible games if you have enough threads. It also improves the preformance of other stuff using mutexes as well. |
…teal the notifying bit Add an unused has_waiters() method.
Perhaps is possible see an better performance in low cpus (AMD FX). |
With this pr Infamous 2 not go ingame, freeze on loading |
gran turismo 6 bces01893 ver 1.5. no controller works, try xbox and ps4 controller no one works :( |
Have anyone tested in Intel TSX cpu with an OS disabled all security mitigations ? (spectre, meltdown and etc) |
In addition to improving performance for low theaded CPUs (8 threads or less), this pull request helps the performamce of more than 2 PPU threads (the most accurate value and the default yet may be slower than more threads).
This pr may improve loading times as well due to improved PPU performance.
Results of a test locking and unlocking 4 LV2 mutexes on 8 threads.
ppumain.self.zip
Master, 2 PPU threads: sample finished in 24.269772 seconds.
Master, 4 PPU threads: sample finished in 59.015042 seconds.
Pull request, 2 PPU threads: sample finished in 2.951544 seconds.
Pull request, 4 PPU threads: sample finished in 5.736856 seconds.