Faster symlink creation (avoid a JVM fork per symlink)
------------------------------------------------------

                 Key: IVY-1318
                 URL: https://issues.apache.org/jira/browse/IVY-1318
             Project: Ivy
          Issue Type: New Feature
          Components: Core
    Affects Versions: 2.2.0
            Reporter: Oliver Jowett
            Priority: Minor


We have a large project using Ivy with many large artifacts.
In theory we should benefit from symlink="true" (space savings and reduced 
I/O), but in practice the overhead of forking the Ant JVM for each individual 
symlink means that a build using symlink="true" actually runs a lot (30%+) 
slower, which is too much of a cost to justify using it.

To work around this I modified FileUtils to run a single long-lived shell 
process that reads instructions from stdin and performs symlinks accordingly.
This makes symlink="true" no slower than symlink="false".

I will attach a patch against 2.2.0. Tested only in a Linux environment, but in 
theory it should work on anything POSIX-y, and should fall back to file copy 
much as the existing code does if anything goes wrong.

Any interest in getting this included in an official version?


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to