-
Notifications
You must be signed in to change notification settings - Fork 15
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
Optimize flacoco #74
Comments
Nice issue to tackle. The problematic code to be refactored should be here: https://github.com/SpoonLabs/flacoco/blob/master/src/main/java/fr/spoonlabs/flacoco/core/test/TestDetector.java |
Yes. Based on pure observation tho, I'd say the bottleneck is larger on I'll try to confirm this with some profiling. |
Hot spots of the Optimizations that jump to mind:
|
Update here, I think implementing a Currently we do a full analysis of the binaries each time a method finishes. What we want to do is store the Doing this analysis is costly, and so much more when you do it several thousands of times. Edit: |
Using The only way I see we could achieve a performance similar to GZoltar is to either adapt jacoco so that the analyzer takes several |
Thanks for the update. |
Hi @martinezmatias, Another update. I've come to realize that the problem might be that It is the difference between being quadratic and "quasi-linear". I'm working on having a PR for |
I have opened a PR jacoco/jacoco#1212, that introduces an option for skipping non-executed classes in the analysis. This does improve performance, but we are still a bit far from GZoltar. The next important steps are:
|
Test detection might be feasible by using surefire. https://github.com/apache/maven-surefire/tree/surefire-3.0.0-M5_vote-1/surefire-providers |
That's a great contribution.
Do you mean to a) retrieve the list with the names of the test methods/classes to execute or b) the test framework from each test?
Agree, it's a big portion. |
Both. Building the spoon model itself already takes around half the time, while checking the frameworks the other half. |
|
Nice work!. |
Impressive! |
On the basis of pure observation, flacoco is considerably slower than GZoltar right now.
Some ideas for optimization:
I will also do some profiling and update this issue
The text was updated successfully, but these errors were encountered: