David Glasser wrote:
> On Nov 19, 2007 11:22 AM, C. Michael Pilato <cmpilato@collab.net> wrote:
>> David Glasser wrote:
>>> cmpilato:
>>>
>>> So you added this "get node origins" FS API, which is pretty slow
>>> without the cache we've added.
>>>
>>> Which RA APIs end up calling it? Which commands thus end up with a
>>> big slowdown on pre-1.5 servers?
>> Today, the only APIs that call it are svn_repos_node_location_segments() and
>> the svn_ra_get_location_segments wrapper thereof.
>>
>> The performance situation goes like so for the use of this API.
>>
>> Old clients -- well, they don't call the API at all.
>>
>> New clients talking to pre-1.5 servers -- these guys have to use the RA
>> fallback code, based on 'svn log', which is so very not fast.
>>
>> New clients, talking to 1.5 servers -- if the index has a hit for the
>> request, this is super fast. Otherwise, we do the slower crawl. But
>> the server-side crawl in this case is much faster than the server-side
>> crawl in the pre-1.5 server fallback code case, *and* the network
>> response is miniscule and precise instead of humongous and requiring
>> lots of client-side path-math.
>
> Thanks for the info. Which client-level commands call the new RA API
> (both in the status quo and in your future plans, since I think
> there's a difference)?
Status quo: 'svn copy', 'svn merge', and maybe 'svn mergeinfo'
Future plans: 'svn merge' and 'svn mergeinfo'
--
C. Michael Pilato <cmpilato@collab.net>
CollabNet <> www.collab.net <> Distributed Development On Demand
Received on Mon Nov 19 17:52:03 2007