diff options
author | Paul Phillips <paulp@improving.org> | 2011-05-21 15:03:34 +0000 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2011-05-21 15:03:34 +0000 |
commit | 2a32395ff25386444520c602393fa3d16078344a (patch) | |
tree | 6c2de5e05095aa1c1636057794bf118d8ad32d32 | |
parent | 83703d1e446b77899bbf45d77c213fee0aa69ab7 (diff) | |
download | scala-2a32395ff25386444520c602393fa3d16078344a.tar.gz scala-2a32395ff25386444520c602393fa3d16078344a.tar.bz2 scala-2a32395ff25386444520c602393fa3d16078344a.zip |
Wow, ZipEntry#getTime is expensive! So that's h...
Wow, ZipEntry#getTime is expensive! So that's how I gave back all my
ZipArchive gains. No review.
-rw-r--r-- | src/compiler/scala/tools/nsc/io/ZipArchive.scala | 17 |
1 files changed, 5 insertions, 12 deletions
diff --git a/src/compiler/scala/tools/nsc/io/ZipArchive.scala b/src/compiler/scala/tools/nsc/io/ZipArchive.scala index 6e4998738e..00827393bd 100644 --- a/src/compiler/scala/tools/nsc/io/ZipArchive.scala +++ b/src/compiler/scala/tools/nsc/io/ZipArchive.scala @@ -102,8 +102,6 @@ abstract class ZipArchive(override val file: JFile) extends AbstractFile with Eq else newDir(dirs, parentPath, null) } val dir = new DirEntry(path) - if (zipEntry != null) - dir.lastModified = zipEntry.getTime() parent.entries(baseName(path)) = dir dirs(path) = dir dir @@ -111,12 +109,7 @@ abstract class ZipArchive(override val file: JFile) extends AbstractFile with Eq protected def getDir(dirs: mutable.Map[String, DirEntry], entry: ZipEntry): DirEntry = { val name = entry.getName if (entry.isDirectory) { - if (dirs contains name) { - val existing = dirs(name) - if (existing.lastModified <= 0) - existing.lastModified = entry.getTime() - existing - } + if (dirs contains name) dirs(name) else newDir(dirs, name, entry) } else { @@ -140,12 +133,12 @@ final class FileZipArchive(file: JFile) extends ZipArchive(file) { if (zipEntry.isDirectory) dir else { class FileEntry() extends Entry(zipEntry.getName) { - override def getArchive = zipFile - override def input = getArchive getInputStream zipEntry - override def sizeOption = Some(zipEntry.getSize().toInt) + override def getArchive = zipFile + override def lastModified = zipEntry.getTime() + override def input = getArchive getInputStream zipEntry + override def sizeOption = Some(zipEntry.getSize().toInt) } val f = new FileEntry() - f.lastModified = zipEntry.getTime() dir.entries(f.name) = f } } |