You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ant.apache.org by bo...@apache.org on 2010/03/04 14:47:36 UTC
svn commit: r918989 - in /ant/core/trunk: WHATSNEW
src/main/org/apache/tools/ant/AntClassLoader.java
Author: bodewig
Date: Thu Mar 4 13:47:35 2010
New Revision: 918989
URL: http://svn.apache.org/viewvc?rev=918989&view=rev
Log:
reduce performance loss in AntClassLoader from 1000% to about 50%. PR 48853
Modified:
ant/core/trunk/WHATSNEW
ant/core/trunk/src/main/org/apache/tools/ant/AntClassLoader.java
Modified: ant/core/trunk/WHATSNEW
URL: http://svn.apache.org/viewvc/ant/core/trunk/WHATSNEW?rev=918989&r1=918988&r2=918989&view=diff
==============================================================================
--- ant/core/trunk/WHATSNEW (original)
+++ ant/core/trunk/WHATSNEW Thu Mar 4 13:47:35 2010
@@ -51,6 +51,10 @@
* Broken Pipe issue under Ubuntu Linux
Bugzilla Report 48789
+ * AntClassLoader in Ant 1.8.0 has been considerably slower than in
+ 1.7.1
+ Bugzilla Report 48853
+
Other changes:
--------------
Modified: ant/core/trunk/src/main/org/apache/tools/ant/AntClassLoader.java
URL: http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/AntClassLoader.java?rev=918989&r1=918988&r2=918989&view=diff
==============================================================================
--- ant/core/trunk/src/main/org/apache/tools/ant/AntClassLoader.java (original)
+++ ant/core/trunk/src/main/org/apache/tools/ant/AntClassLoader.java Thu Mar 4 13:47:35 2010
@@ -17,6 +17,7 @@
*/
package org.apache.tools.ant;
+import java.io.BufferedInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
@@ -1213,8 +1214,9 @@
JarEntry ent = jarFile.getJarEntry(entry);
if (ent != null) {
// must read the input in order to obtain certificates
- is = jarFile.getInputStream(ent);
- while (is.read() >= 0);
+ is = new BufferedInputStream(jarFile.getInputStream(ent));
+ byte[] b = new byte[BUFFER_SIZE];
+ while (is.read(b, 0, BUFFER_SIZE) >= 0);
}
return ent == null ? null : ent.getCertificates();
} finally {