[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: svn commit: r33588 - trunk/subversion/libsvn_subr

From: Lieven Govaerts <svnlgo_at_mobsol.be>
Date: Sun, 12 Oct 2008 22:26:37 +0200

Bert Huijben wrote:
>> -----Original Message-----
>> From: Greg Stein [mailto:gstein_at_gmail.com]
>> Sent: vrijdag 10 oktober 2008 10:30
>> To: dev_at_subversion.tigris.org; lgo_at_tigris.org
>> Subject: Re: svn commit: r33588 - trunk/subversion/libsvn_subr
>> File schemes should be possible on ANY platform, not just Windows.
>> Please try to avoid windows-specific code -- make sure it *is*
>> specific first.
>> On Thu, Oct 9, 2008 at 3:09 PM, <lgo_at_tigris.org> wrote:
>>> Author: lgo
>>> Date: Thu Oct 9 15:09:40 2008
>>> New Revision: 33588
>>> Log:
>>> Reimplement canonicalize without using the use of apr_uri_parse and
>>> apr_uri_ubparse, which turned out to be way to slow for our purposes.
> Lieven,
> Did you check this impact in a debug or release build?

I first compared the time of 50k invocations of the old
svn_path_canonicalize with the new implementation. This showed a vast

> In our performance analysis on release builds last weekend we found the
> impact on total performance very limited. But there are a lot of assertions
> checking the canonicalization in debug builds.

Depends a bit on the tests you ran, but in general I agree that in
release builds the performance difference is minimal. But even in a
release build, in my simple merge test (merge 6 changes from trunk to
1.5) canonicalize is still called 300k times, so might as well make it
perform well.

Note that performance wasn't the only reason for this change, turns out
there's an issue with apr_uri_parse handling Windows paths as URLs with
later versions of apr-util, so with this change we avoid this issue


To unsubscribe, e-mail: dev-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: dev-help_at_subversion.tigris.org
Received on 2008-10-12 22:26:00 CEST

This is an archived mail posted to the Subversion Dev mailing list.