[ 
https://issues.apache.org/jira/browse/IVY-1318?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

jaikiran pai resolved IVY-1318.
-------------------------------
       Resolution: Resolved
         Assignee: jaikiran pai
    Fix Version/s: master

The upcoming (2.5) release of Ivy no longer spawns a process to create 
symlinks. Instead it uses Java standard APIs (introduced in Java 7) to create 
symlinks.

> 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
>            Assignee: jaikiran pai
>            Priority: Minor
>              Labels: patch
>             Fix For: master
>
>         Attachments: IVY-1318-r1373520.patch, ivy-2.2.0-symlink.txt
>
>
> 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 was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to