[jboss-dev-forums] [Design the new POJO MicroContainer] - Re: VFS Performance

adrian@jboss.org do-not-reply at jboss.com
Thu Jul 24 06:26:49 EDT 2008


"adrian at jboss.org" wrote : 
  | Reading byte code from zip files
  | 
  |   |         java.util.zip.Inflater.inflateBytes(Inflater.java:Unknown line)
  |   |         java.util.zip.Inflater.inflate(Inflater.java:215)
  |   |         java.util.zip.InflaterInputStream.read(InflaterInputStream.java:128)
  |   |         java.io.FilterInputStream.read(FilterInputStream.java:90)
  |   |         org.jboss.virtual.plugins.context.zip.ZipEntryInputStream.read(ZipEntryInputStream.java:112)
  |   |         org.jboss.classloader.plugins.ClassLoaderUtils.loadByteCode(ClassLoaderUtils.java:150)
  |   |         org.jboss.classloader.spi.base.BaseClassLoader$2.run(BaseClassLoader.java:475)
  |   |         org.jboss.classloader.spi.base.BaseClassLoader$2.run(BaseClassLoader.java:464)
  |   |         java.security.AccessController.doPrivileged(AccessController.java:Unknown line)
  |   |         org.jboss.classloader.spi.base.BaseClassLoader.loadClassLocally(BaseClassLoader.java:462)
  |   | 
  | 
  | This one might improve if we wrap the VFS stream in a BufferedInputStream
  | in ClassLoaderUtils?
  | This looks inefficient, it is listing a parent directory when we do getChild
  | 
  | 
  |   |         java.io.UnixFileSystem.checkAccess(UnixFileSystem.java:Unknown line)
  |   |         java.io.File.canRead(File.java:660)
  |   |         org.jboss.virtual.plugins.context.file.FileHandler.getChildren(FileHandler.java:161)
  |   |         org.jboss.virtual.plugins.context.file.FileSystemContext.createVirtualFileHandler(FileSystemContext.java:337)
  |   |         org.jboss.virtual.plugins.context.file.FileSystemContext.createVirtualFileHandler(FileSystemContext.java:256)
  |   |         org.jboss.virtual.plugins.context.file.FileHandler.createChildHandler(FileHandler.java:224)
  |   |         org.jboss.virtual.plugins.context.AbstractVirtualFileHandler.structuredFindChild(AbstractVirtualFileHandler.java:509)
  |   |         org.jboss.virtual.plugins.context.file.FileHandler.getChild(FileHandler.java:233)
  |   |         org.jboss.virtual.VirtualFile.getChild(VirtualFile.java:427)
  |   |         org.jboss.classloading.spi.vfs.policy.VFSClassLoaderPolicy.findVirtualFileInfo(VFSClassLoaderPolicy.java:488)
  |   | 
  | 
  | Modified checking
  | 
  | 
  |   |         java.io.UnixFileSystem.getLastModifiedTime(UnixFileSystem.java:Unknown line)
  |   |         java.io.File.lastModified(File.java:795)
  |   |         org.jboss.virtual.plugins.context.zip.ZipFileWrapper.getLastModified(ZipFileWrapper.java:140)
  |   |         org.jboss.virtual.plugins.context.zip.ZipEntryContext.getLastModified(ZipEntryContext.java:682)
  |   |         org.jboss.virtual.plugins.context.zip.ZipEntryHandler.getLastModified(ZipEntryHandler.java:92)
  |   |         org.jboss.virtual.plugins.context.DelegatingHandler.getLastModified(DelegatingHandler.java:107)
  |   |         org.jboss.virtual.plugins.context.AbstractVirtualFileHandler.hasBeenModified(AbstractVirtualFileHandler.java:181)
  |   |         org.jboss.virtual.plugins.context.file.FileHandler.getChildren(FileHandler.java:183)
  |   |         org.jboss.virtual.plugins.context.file.FileSystemContext.createVirtualFileHandler(FileSystemContext.java:337)
  |   |         org.jboss.virtual.plugins.context.file.FileSystemContext.createVirtualFileHandler(FileSystemContext.java:256)
  |   | 
  | 
  | I keep seeing this, not checked if it is a real inefficiency
  | 
  | 
  |   |         org.jboss.virtual.plugins.context.AbstractVirtualFileHandler.getLocalPathName(AbstractVirtualFileHandler.java:230)
  |   |         org.jboss.virtual.plugins.context.zip.ZipEntryContext.isLeaf(ZipEntryContext.java:751)
  |   |         org.jboss.virtual.plugins.context.zip.ZipEntryHandler.isLeaf(ZipEntryHandler.java:110)
  |   |         org.jboss.virtual.plugins.context.AbstractVirtualFileHandler.structuredFindChild(AbstractVirtualFileHandler.java:502)
  |   |         org.jboss.virtual.plugins.context.zip.ZipEntryHandler.getChild(ZipEntryHandler.java:139)
  |   |         org.jboss.virtual.plugins.context.DelegatingHandler.getChild(DelegatingHandler.java:93)
  |   |         org.jboss.virtual.VirtualFile.getChild(VirtualFile.java:427)
  |   |         org.jboss.classloading.spi.vfs.policy.VFSClassLoaderPolicy.findVirtualFileInfo(VFSClassLoaderPolicy.java:488)
  |   |         org.jboss.classloading.spi.vfs.policy.VFSClassLoaderPolicy.findChild(VFSClassLoaderPolicy.java:452)
  |   |         org.jboss.classloading.spi.vfs.policy.VFSClassLoaderPolicy.getResource(VFSClassLoaderPolicy.java:385)
  |   | 
  | 
  | Similarly this
  | 
  | 
  |   |         java.util.concurrent.ConcurrentHashMap$Segment.get(ConcurrentHashMap.java:334)
  |   |         java.util.concurrent.ConcurrentHashMap.get(ConcurrentHashMap.java:731)
  |   |         org.jboss.virtual.plugins.context.zip.ZipEntryContext.getRoot(ZipEntryContext.java:606)
  |   |         org.jboss.virtual.plugins.context.AbstractVirtualFileHandler.getLocalPathName(AbstractVirtualFileHandler.java:230)
  |   |         org.jboss.virtual.plugins.context.zip.ZipEntryContext.isLeaf(ZipEntryContext.java:751)
  |   |         org.jboss.virtual.plugins.context.zip.ZipEntryHandler.isLeaf(ZipEntryHandler.java:110)
  |   |         org.jboss.virtual.plugins.context.AbstractVirtualFileHandler.structuredFindChild(AbstractVirtualFileHandler.java:502)
  |   |         org.jboss.virtual.plugins.context.zip.ZipEntryHandler.getChild(ZipEntryHandler.java:139)
  |   |         org.jboss.virtual.plugins.context.DelegatingHandler.getChild(DelegatingHandler.java:93)
  |   |         org.jboss.virtual.VirtualFile.getChild(VirtualFile.java:427)
  |   | 
  | 
  | I'm still seeing the PathTokenizer showing up
  | 
  | 
  |   |         org.jboss.virtual.plugins.vfs.helpers.PathTokenizer.getTokens(PathTokenizer.java:97)
  |   |         org.jboss.virtual.plugins.context.AbstractVirtualFileHandler.structuredFindChild(AbstractVirtualFileHandler.java:475)
  |   |         org.jboss.virtual.plugins.context.zip.ZipEntryHandler.getChild(ZipEntryHandler.java:139)
  |   |         org.jboss.virtual.plugins.context.DelegatingHandler.getChild(DelegatingHandler.java:93)
  |   |         org.jboss.virtual.VirtualFile.getChild(VirtualFile.java:427)
  |   |         org.jboss.classloading.spi.vfs.policy.VFSClassLoaderPolicy.findVirtualFileInfo(VFSClassLoaderPolicy.java:488)
  |   |         org.jboss.classloading.spi.vfs.policy.VFSClassLoaderPolicy.findChild(VFSClassLoaderPolicy.java:452)
  |   |         org.jboss.classloading.spi.vfs.policy.VFSClassLoaderPolicy.getResource(VFSClassLoaderPolicy.java:385)
  |   |         org.jboss.classloader.spi.base.BaseClassLoader$3.run(BaseClassLoader.java:567)
  |   |         org.jboss.classloader.spi.base.BaseClassLoader$3.run(BaseClassLoader.java:564)
  |   | 

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4166370#4166370

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4166370



More information about the jboss-dev-forums mailing list