-
Notifications
You must be signed in to change notification settings - Fork 39
Edge trait #160
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
Edge trait #160
Conversation
At this stage, I simply set Microbenchmark shows the performance impact is negligible. Benchmark: Create a 22-level binary search tree, run It is run on
Given that there is no performance degradation, I'll continue with other bindings. I'll also confirm the performance results by running DaCapo benchmarks. |
And the results on DaCapo Chopin. Run on Results for SemiSpace (on squirrel.moma) Results for Immix (on squirrel.moma) The mean STW times of most benchmarks are less than 1% different from master. Batik has huge error bars because GC only happened on average 3 times for SemiSpace and 1.6 times for Immix. H2 is a bit strange because in the 20 invocations, only 4 has results for SemiSpace and 2 has results for Immix, and I think the rest of the invocations failed silently for some reasons. STW time distribution: |
50cf7e0
to
bb4bcfe
Compare
This commit aims to be a minimal change. We add the Edge trait to API functions, but we still implement Edge with Address so that it still behaves like before.
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.
LGTM
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.
LGTM.
Sorry I haven't fully addressed my compressed pointer performance issue, so I haven't try using this change to support compressed pointers. I'll probably do that later after this PR is merged.
Note that this commit does not add support for compressed OOPs.
See also: mmtk/mmtk-core#606