maven-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Altin Papa (JIRA)" <j...@codehaus.org>
Subject [jira] Created: (MASSEMBLY-499) Poor performance in DirectoryArchiver due to unnecessary native calls
Date Tue, 07 Sep 2010 13:42:32 GMT
Poor performance in DirectoryArchiver due to unnecessary native calls
---------------------------------------------------------------------

                 Key: MASSEMBLY-499
                 URL: http://jira.codehaus.org/browse/MASSEMBLY-499
             Project: Maven 2.x Assembly Plugin
          Issue Type: Bug
    Affects Versions: 2.2-beta-5
         Environment: Unix/Linux
            Reporter: Altin Papa


1) 
maven-assembly-plugin calls DirectoryArchiver.copyFile( ArchiveEntry entry, String vPath ),
which calls
ArchiveEntryUtils.chmod( outFile, entry.getMode(), getLogger() );
resulting in a native child Process being forked to do a chmod (on Unix only)

The performance impact on a large assembly is enormous: patching DirectoryArchiver to not
do this resulted in a performance improvement by more than 5 times.
I've raised this with Plexus as http://jira.codehaus.org/browse/PLXCOMP-156

2)
AssemblyFormatUtils should cache the environment, as AssemblyInterpolator does. Both, though,
should use the latest *plexus* CommandLineUtils, as opposed to maven-assembly-plugin's own
version. The plexus class uses System.getenv() (JDK5+) when available. 

Generally, please see if you can review the use of native command calls, esp. in light of
JDK5/6 APIs. Forked native calls had a horrible performance impact on our (large, highly modular)
assembly; which has only been corrected by local patches of maven-assembly/plexus-archiver.
Thanks!


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message