I would guess that java.nio.file.Files.exists() [1] improves this access performance. Do you see these freezes cause by org.eclipse.core.resources.IResources or by directly using the Java File API?
[1] http://docs.oracle.com/javase/7/docs/api/java/nio/file/Files.html#exists(java.nio.file.Path,%20java.nio.file.LinkOption...) ) 2014-12-10 14:53 GMT+01:00 Marcel Bruch <[email protected]>: > > Hi, > > I just want to share an insight I got from reviewing several ui freezes. > One common cause for UI freezes are operations that touch the filesystem. > For instance, File.isFile, File.lastModified, or > WinNTFileSystem.getBooleanAttributes seem to be very expensive. From what I > read on the internet it seems that some of these methods (e.g. > getAttributes) may even take up to several seconds to return on windows > systems. > > > This has been discussed elsewhere in the internet [1] and seems to be a > long-standing issue in Java. > > > > With this mail I’d like to make you aware of this (in case you did not > know this before) and would like to encourage you to actually not execute > file operations in the ui thread. We may also consider doing some kind of > caching but such a discussion would by far be over my knowledge, and thus, > should be left to discuss with the platform team. > > For now, I think we would benefit very much if every project that accesses > files/resources would review their code and think about refactoring some > part of the FileSystem work (even if it’s only checking a file’s > attributes) into background processes. > > Best, > Marcel > > > [1] > http://stackoverflow.com/questions/20546676/webstart-winntfilesystem-getbooleanattributes-performance > > > -- > Codetrails GmbH > The knowledge transfer company > > Robert-Bosch-Str. 7, 64293 Darmstadt > Phone: +49-6151-276-7092 > Mobile: +49-179-131-7721 > http://www.codetrails.com/ > > Managing Director: Dr. Marcel Bruch > Handelsregister: Darmstadt HRB 91940 > > _______________________________________________ > cross-project-issues-dev mailing list > [email protected] > To change your delivery options, retrieve your password, or unsubscribe > from this list, visit > https://dev.eclipse.org/mailman/listinfo/cross-project-issues-dev
_______________________________________________ cross-project-issues-dev mailing list [email protected] To change your delivery options, retrieve your password, or unsubscribe from this list, visit https://dev.eclipse.org/mailman/listinfo/cross-project-issues-dev
