ant-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Nicolas Lalevée (JIRA) <>
Subject [jira] [Commented] (IVY-1318) Faster symlink creation (avoid a JVM fork per symlink)
Date Wed, 15 Aug 2012 16:40:38 GMT


Nicolas Lalevée commented on IVY-1318:

You patch is interesting but it doesn't seem thread safe. It also use Java 1.5 feature, and
now Ivy is still requiring to be Java 1.4 compatible.
And as far as I understand, on long running jvm, it means another process should live as long
as Ivy does. Ivy is used in long running jvm like Eclipse, for the plugin IvyDE. Not sure
it is best.
I think I'll prefer IVY-1252.
> Faster symlink creation (avoid a JVM fork per symlink)
> ------------------------------------------------------
>                 Key: IVY-1318
>                 URL:
>             Project: Ivy
>          Issue Type: New Feature
>          Components: Core
>    Affects Versions: 2.2.0
>            Reporter: Oliver Jowett
>            Priority: Minor
>              Labels: patch
>         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 is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:!default.jspa
For more information on JIRA, see:


View raw message