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

[RFC] New PPCAnalyst class. #323

Merged
merged 8 commits into from Apr 30, 2014

Conversation

Sonicadvance1
Copy link
Contributor

The old PPCAnalyst namespace leaves a lot to be desired. This is more work for improving the PPCAnalyst and improving the CPU core as time goes.

Implements a new PPCAnalyser class instead of a namespace so it can contain options within it.
Doesn't yet remove the old PPCAnalyst::Flatten function, but will do so once the x86 JIT cores are moved over to it.

Implements a new feature already that is named OPTION_CONDITIONAL_CONTINUE that makes it so the JIT core doesn't end the JIT block on conditional branch instructions.
This single feature tends to give me an average of 2-3FPS more in a few tested scene I've done.

@Sonicadvance1
Copy link
Contributor Author

Did a couple benches with povray on JIT64.
Without CONDITIONAL_CONTINUE I got {10:42, 10:34}. With CONDITIONAL_CONTINUE I got {9:37, 9:51}

@Sonicadvance1
Copy link
Contributor Author

That's a 7%-11% improvement.


// Number of instructions
// Gives us the size of the block.
u32 m_instructions;

This comment was marked as off-topic.

@delroth
Copy link
Member

delroth commented Apr 30, 2014

Pretty cool. Please open a testing thread on the forums so we can get more data about this change (especially regressions and performance improvements).

Sonicadvance1 added a commit that referenced this pull request Apr 30, 2014
@Sonicadvance1 Sonicadvance1 merged commit c4221e8 into dolphin-emu:master Apr 30, 2014
@Sonicadvance1 Sonicadvance1 deleted the newer-ppcanalyst branch October 7, 2016 19:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
2 participants