On Tue, Mar 8, 2011 at 19:49, Philip Martin <philip.mar...@wandisco.com> wrote: > Ivan Zhakov <i...@visualsvn.com> writes: > >> So, as a comparison, I ran the same tests to a localhost trunk(r1078338) >> server. Fedora 14 x86_64, Apache 2.2.17. >> >> trunk (http-library=neon): >> real 0m20.785s >> user 0m0.912s >> sys 0m1.659s >> >> trunk (http-library=serf): >> real 0m21.351s >> user 0m0.873s >> sys 0m1.639s >> ]] >> >> But with remote server running 1.6.16: >> [[[ >> trunk (http-library=neon): >> real 0m15.881s >> user 0m0.968s >> sys 0m1.029s >> >> trunk (http-library=serf): >> real 2m45.159s >> user 0m1.057s >> sys 0m1.169s >> ]]] >> >> 15 seconds with ra_neon against 2:45 minutes with ra_serf. > > Importing a Subversion wc, client on laptop, server on desktop, across > LAN: > > 1.6.x client, 1.6.x server, serf : 20s > trunk client, 1.6.x server, serf : 34s > 1.6.x client, trunk server, serf : 20s > trunk client, trunk server, serf : 34s > any client, any server, neon : 20s > > So here it's serf-0.7.1 that has the performance problem. > It seems I found reason why ra_serf is slower than ra_neon. ra_serf sends CHECKOUT request for _each_ folder and file that being imported, while ra_neon perform it only for root directory. Maybe DAV experts can answer which behavior is correct: should WebDAV client CHECKOUT each resource being modified or it's fine to CHECKOUT only the root of commit operation?
-- Ivan Zhakov