-
-
Notifications
You must be signed in to change notification settings - Fork 47
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 issues #100
Comments
Hierarchy resolution is expensive as it is complex. Since you are only decorating and not overriding methods, consider using decorate and not redefine snd use MethodGraph.Compiler.ForDeclaredMethods.INSTANCE in the ByteBuddy configuration. |
@raphw many thanks! I will give it a try 👍 |
decorate is not the most important change. Using the method graph compiler likely is. |
@raphw after move testing, it seems that method graph makes a very little difference, but |
No, |
That's strange. Maybe I find some time to check it out. You can run with -Dnet.bytebuddy.dump=/some/folder to see if it emits the same byte code in the mean time. |
Hey @pweso, I was able to follow @raphw's advice ( I see some great performance improvements locally, could you please give #101 a try and report if it helped with your performance issue? Thanks in advance! |
Hi @bsideup, |
Hi,
as we are stuck with Java 8 my team has found your project very interesting. We’ve already tried Jabel on local envs and results were very promising. Although Java 8+ features, debugging and stack traces were fine there’s an issue we face: performance.
Our project is a modular monolith. Complication time (pure javac) jumped from 3 minutes to about 40 minutes. We did instrumentation with JProfiler and although execution times are inflated than with regular sampling, but it’s all about the number of calls.
We think the source of the problem is in
make()
method invocation.Do you have any tips to improve performance? We suspect that Jabel is also compiling third-party libraries of our project. Maybe there would be an option to add exclusions for such libraries? Or maybe the problem is in the byte-buddy library and library with better performance is worth considering?
Thanks!
The text was updated successfully, but these errors were encountered: