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

ArC - reduce allocations for intercepted methods #30816

Merged
merged 3 commits into from
Feb 6, 2023

Conversation

mkouba
Copy link
Contributor

@mkouba mkouba commented Feb 2, 2023

  • forwarding lambdas are stateless and thus may become part of immutable InterceptedMethodMetadata
  • note that metadata are shared accross all invocations of an intercepted method

InterceptorBenchmark shows ~ 14% lower allocation rate (using JMH GC profiler) and ~ 4% better throughput.

@quarkus-bot quarkus-bot bot added the area/arc Issue related to ARC (dependency injection) label Feb 2, 2023
@quarkus-bot

This comment has been minimized.

@mkouba
Copy link
Contributor Author

mkouba commented Feb 3, 2023

It seems that failures are related. Investigating...

@manovotn
Copy link
Contributor

manovotn commented Feb 3, 2023

Looks good - second and third commit are basically alignment with what Weld does as well (verified it there) but let's see what the CI has to say :)

@mkouba
Copy link
Contributor Author

mkouba commented Feb 3, 2023

Looks good - second and third commit are basically alignment with what Weld does as well (verified it there) but let's see what the CI has to say :)

Thanks for verification!

@quarkus-bot

This comment has been minimized.

@gsmet gsmet added the triage/needs-rebase This PR needs to be rebased first because it has merge conflicts label Feb 4, 2023
- forwarding lambdas are stateless and thus may become part of immutable InterceptedMethodMetadata
- note that metadata are shared accross all invocations of an intercepted method
- that are not observers/producers
@mkouba mkouba removed the triage/needs-rebase This PR needs to be rebased first because it has merge conflicts label Feb 6, 2023
@mkouba mkouba added the triage/waiting-for-ci Ready to merge when CI successfully finishes label Feb 6, 2023
@quarkus-bot

This comment has been minimized.

@quarkus-bot
Copy link

quarkus-bot bot commented Feb 6, 2023

✔️ The latest workflow run for the pull request has completed successfully.

It should be safe to merge provided you have a look at the other checks in the summary.

@gsmet gsmet merged commit 25470b6 into quarkusio:main Feb 6, 2023
@quarkus-bot quarkus-bot bot removed the triage/waiting-for-ci Ready to merge when CI successfully finishes label Feb 6, 2023
@quarkus-bot quarkus-bot bot added this to the 3.0 - main milestone Feb 6, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/arc Issue related to ARC (dependency injection)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants