-
Notifications
You must be signed in to change notification settings - Fork 107
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
m2e Incremental Builder slowness #157
Comments
150 modules is not huge, it's normal ;) FWIW m2e can scale with thousands of modules. |
@mickaelistria my Dev-Machine has 64 GB if I can spend a few hundreds of them to speed up m2e why not :-) I think it might not be the number of modules but if they are to related/chained here, maybe an intermediate solution would be to expose the cache size in the preferences and set it to 50 on default? |
@stas-bob one possible pitfall is the usage of bom and |
See #161 that shows how big can a Maven project be, and why we should just not blindly increase cache size if we can find better optimizations. |
Sorry i can't provide an example. The dependency tree is too big. I cant reconstruct it without proprietary stuff. Too much work. |
If you want I think the fake project attached to https://bugs.eclipse.org/bugs/show_bug.cgi?id=563742 can be used to reproduce slow project import or slow build after e.g. change to a parent pom. |
I had to use a self-patched version of m2e in larger projects (cache set to 100) as well. |
FYI: #850 |
I have a huge workspace with 150 maven projects.
On every incremental build m2e builder resolves dependencies. I looked into it with jvisualvm.
The progress view prints "Invoking Maven Builder on Project xy".
Maven is constantly building and building and building. It comes to an end finally but starts all over again on another workspace modification like saving a space into a java file.
I came across mavenProjectCache in ProjectRegistryManager. I noticed the cache size was 5 and on every incremental build the contents where diffrent. Cache items are replaced by others during one incremental build.
I then created a plugin which simply gets reference to the MavenPlugin and then goes through the fields with reflection and eventually replaced the google cache with another one with 500 elements.
From that point all my builder problems disappeard. The workspace is very fast now
I dont even notice any maven builder in progress view now.
Please make a public API/preference setting to modify cache size.
Or will i have side effects now? I worked with it for a while and didnt notice wrong behaviour.
The text was updated successfully, but these errors were encountered: