Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [jdt-dev] Performance degradation switching from 1.8 to 11

Hi All,

I'm still investigating this one. I've attached two profiling samples of the same Code Assist operation to the bug. Based on this I have a couple of questions/ideas and looking for feedback whether it makes sense to continue/experimenting with something or not.

Obviously the challenge here is creating a public, reproducible data set. Hence my call for ideas of things I can/should try in the code base. Any ideas are welcome.


LookupEnvironment.java:1620 org.eclipse.jdt.internal.compiler.util.HashtableOfPackage.get(char[]) 
--> takes 1 second

Does this smell like potential hash collisions?

There are more similar classes in the util package. Are those performance optimized? Would it make sense to start looking into replacing some of these with HashMaps?
I was thinking this because of https://openjdk.java.net/jeps/180, which looks promising. 

I'm looking for someone with triable knowledge in this area. 


SearchableEnvironment.java:922 org.eclipse.jdt.internal.core.NameLookup.isPackage(String[], IPackageFragmentRoot[])
--> takes 1 second in String.join

This is quite surprising to me. It shows up two times in a single sample and contributing two seconds here to the execution time. 


Any thoughts?

-Gunnar

-- 
Gunnar Wagenknecht
gunnar@xxxxxxxxxxxxxxx, http://guw.io/


> On Aug 29, 2020, at 11:03, Gunnar Wagenknecht <gunnar@xxxxxxxxxxxxxxx> wrote:
> 
> Greetings JDT Developers,
> 
> We are seeing a severe performance degradation with Eclipse switching a large code base from 1.8 to 11. It's noticeable across our entire Eclipse use base. Increasing Eclipse JVM heap to 32GB on desktops with >= 64GB memory does not improve the situation. 
> 
> We are currently running Eclipse with OpenJDK 1.8.0_212 and the following additional options:
> -Xverify:none
> -XX:+UseStringDeduplication
> -XX:+DisableExplicitGC
> -XX:+ParallelRefProcEnabled
> -Dorg.eclipse.jdt.core.javamodelcache.ratio=1.5
> -Dorg.eclipse.jdt.core.javamodelcache.jartyperatio=4
> 
> I've created https://bugs.eclipse.org/566498 for sharing logs and profiling results. I'd appreciate your input on thing to try and/or data you would like us to collect.
> 
> Please let me know if you prefer communication on the bug of on the mailing list.
> 
> Thanks a lot!
> 
> -Gunnar
> 
> -- 
> Gunnar Wagenknecht
> gunnar@xxxxxxxxxxxxxxx, http://guw.io/
> 
> 



Back to the top