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

Performance Regression Caused by [GR-36260] Use Reference.reachabilityFence #4690

Closed
smarr opened this issue Jun 30, 2022 · 5 comments
Closed
Assignees
Labels

Comments

@smarr
Copy link
Contributor

smarr commented Jun 30, 2022

Yesterday, when updating Graal in TruffleSOM, I noticed a performance regression, which after bisecting through the history, seems to be attributable to 566d7bf

Comparing the performance of the merge before and this one, gives me the following results: https://rebench.stefan-marr.de/compare/TruffleSOM/25c58e39b076e4ca8edfd571aca0fdb855793403/b6f98b977f38193b3702dcfc3fd0fceca4bf4e79

For completeness, the results against the latest version: https://rebench.stefan-marr.de/compare/TruffleSOM/1b0b90a9a7feba9b8e584daff46b95bb87a91901/1836c350e56a613a7637ed3fcf719c43e364a05a

Recursive benchmarks seem to make worse inlining decisions, but other benchmarks, especially the bytecode interpreter ones are suffering, too.

To reproduce, the following instructions will checkout TruffleSOM with Graal of today in a submodule.

git clone -b truffle-update-june-30 --recursive https://github.com/smarr/TruffleSOM
cd TruffleSOM
ant compile
./som -i -cp Smalltalk:Examples/Benchmarks/LanguageFeatures:Examples/Benchmarks/TestSuite Examples/Benchmarks/BenchmarkHarness.som --gc Bounce 250 4000

The -i flag enables IGV graph dumping.
To debug with a Java debugger, use -d.
To see the plain command line, use -vv.
The -LG flag disables the use of libgraal, which one probably wants to debug Graal.

/cc @woess

@smarr smarr added the truffle label Jun 30, 2022
@dougxc dougxc changed the title Performance Regression Caused by GR-36260] Use Reference.reachabilityFence Performance Regression Caused by [GR-36260] Use Reference.reachabilityFence Jul 1, 2022
@woess woess self-assigned this Jul 4, 2022
@eregon
Copy link
Member

eregon commented Jul 8, 2022

Also noticed on Ruby PSD benchmarks (GR-39711)

@woess
Copy link
Member

woess commented Aug 1, 2022

Thanks for the report. The regression should be fixed as of 9e628e5.

@woess woess closed this as completed Aug 1, 2022
@smarr
Copy link
Contributor Author

smarr commented Aug 1, 2022

@woess @christianwimmer hm. This doesn't seem to solve the issue.
I'll investigate a bit further, I just updated to the latest version, but it does not seem to help revert the performance impact observed on Bounce or TreeSort.

@smarr
Copy link
Contributor Author

smarr commented Aug 1, 2022

Ok, I can confirm that there's indeed the expected performance improvement right on the merge commit https://rebench.stefan-marr.de/compare/TruffleSOM/c0ca77fed790812838ba35bf29eac9b2f2349a05/5f94c1ae1cec7573f872915048e785fc329102dc

Though, afterwards, it breaks again.

@smarr
Copy link
Contributor Author

smarr commented Aug 1, 2022

Never mind. I messed up the update, and I compare against a version that was before the merge was fixed. All good.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants