On Tue, Feb 9, 2010 at 7:09 PM, Julian Foad <julian.f...@wandisco.com> wrote: > On Mon, 2010-02-08, Phillip Hellewell wrote: >> I'm not sure if this is related to issue 1448 or not (it's kinda like the >> opposite of 1448 actually), but I use externals extensively and doing an >> update is slow. It appears to be creating a new connection for each >> external even though it's the same repository on the same server. Each >> connection takes about 3 seconds to make. >> >> I have a large project (over 10,000 files) that takes about 10 seconds to do >> an update (with no externals). Then I have a sibling folder that acts as a >> "module" to provide a limited view of the project by using relative >> externals to about a dozen subdirs of the project. This "module" folder >> takes 40 seconds to do an update. So it takes longer to update this >> "module" folder even though it only contains a subset of the project! Even >> individual file externals take 3 seconds each to update. >> >> Since all the externals are relative, they are to the same repository on the >> same server, so can't we re-use existing connection? > > Yes, that would be a good enhancement. > > There are several places where the client should/could re-use a > connection. During a multi-target update command like "svn up a b c" is > another example. > > Would you, or anyone you know, be interested in working on it? I would > be glad to give you some help and guidance. > Agreed. svn_client_* functions spend a lot time on creating RA connection. My idea was to introduce "connection pool" to hold and reuse RA connections. This pool can be stored in svn_client_ctx_t or in separate object.
-- Ivan Zhakov VisualSVN Team