You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "John Casey (JIRA)" <ji...@codehaus.org> on 2010/09/28 18:05:33 UTC

[jira] Closed: (MASSEMBLY-499) Poor performance in DirectoryArchiver due to unnecessary native calls

     [ http://jira.codehaus.org/browse/MASSEMBLY-499?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

John Casey closed MASSEMBLY-499.
--------------------------------

    Resolution: Fixed
      Assignee: John Casey  (was: Olivier Lamy)

Added ignorePermissions flag to Abstract mojo, so all mojos get to use it. To improve your performance (if you don't care about chmodding):

{code:xml}
<configuration>
  [...]
  <ignorePermissions>true</ignorePermissions>
</configuration>
{code}

> 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
>            Assignee: John Casey
>             Fix For: 2.2-beta-6
>
>
> 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