Ole, there was something about the premise to your question that led me into giving what I see now was a misguided answer. Ivy:cachepath and ivy:retrieve are both post-resolve tasks. The real heavy lifting is being done by ivy:resolve. Your performance issues should be the same regardless of which post-resolve task you use.
Just for sanity's sake, can you construct a target such that only ivy:resolve is being called? I'd like you to see for yourself that ivy:resolve is where you're seeing the big performance cost. Beyond that, I suppose it's possible that your resolve is taking so long even if everything's already downloaded. This could be a symptom of either of two things: * The project itself is really, really big, like containing all the layers in the application. * The Ivy confs are too coarse-grained, and you're downloading everything at once when you only need a subset of dependencies for compiling your main code. Even then, there's got to be a bit of a slow-machine factor here, as you indicate. On Thu, Nov 18, 2010 at 5:40 AM, Ole Langbehn <[email protected]>wrote: > Hi Mitch (et al), > > thanks for the answer. Let me give you some more info: > > Mitch Gitman wrote: > > I would recommend using ivy:cachepath over ivy:retrieve. With retrieve, > > you're doing an extra copy of the dependencies, which leaves you > > vulnerable to the files getting out of sync. Without seeing your Ivy > > settings, I can't say why things are slower on cachepath or retrieve. > > If I understand correctly, you're encountering this 11-second cost > > every time you do a compile. If that's the case, it would mean that Ivy > > is not trusting your cache at all and forcing a download every time. > > No, that's not the case, ivy does not trigger a download from the remote > repositories, but takes that much extra time simply to resolve the > dependencies from the cache. A download takes AGES (since the main remote > repository is on a slow connection). > > Maybe this is indeed a problem that only occurs on my machine, since on > other machines the resolve is quicker, maybe about 2-3 times. > >
