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
SPU LLVM: Improve runtime SPU compilation preferences #15250
Conversation
Instead of just making changes that supposedly are faster, how about adding some benchmarks for once, so people can actually grasp the benefits when seeing auch a PR? |
@@ -390,9 +390,19 @@ class lf_queue final | |||
item->m_link = load(oldv); | |||
} | |||
|
|||
if (!oldv) | |||
if (!oldv && Notify) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wouldn't this reduce instructions if it was behind if constexpr Notify?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not really, compilers detect that Notify is known. if-constexpr is not technically for optimizations, but to avoid compiling code that would otherwise not compile for template functions.
Need someone with 12 or more threads to test this on empty SPU cache. |
I guess I'll also make it possible to test its performance somewhat accurately mid-game, because the only way the user known now is how much stuttery the game is while compiling. |
I have a 13600k later today i will try to compere the performace to master in some games(GT5,6, R&C games). |
keep in mind it's not an FPS test, it's to test how relatively long SPU compilation takes (those green "compiled block successfully messages") |
@elad335 I tested 14600KF 14 /20 THE LAST OF US and RED DEAD REDEMPTION very quickly SPU CACHE |
Some of these affect only CPUs with 12 or more threads at the current implementation, point 3 affects all.
Tests: Tested to improve massively the performance of SPU LLVM ingame compilation for Red Dead Redemption on 14600KF