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

Re: svn commit: r1586947 - in /subversion/trunk/subversion/libsvn_fs_fs: dag.c dag.h tree.c

From: Ivan Zhakov <ivan_at_visualsvn.com>
Date: Mon, 14 Apr 2014 20:19:46 +0400

On 14 April 2014 12:23, Julian Foad <julianfoad_at_btopenworld.com> wrote:
> Bert Huijben wrote:
>>> Author: stefan2
>>> URL: http://svn.apache.org/r1586947
>>> Log:
>>> Improve MT scalability of the FSFS DAG traversal code.
>
> It seems the main problem here is simply that this log message summary line gives a false impression
> about the magnitude of this particular change.
>
>>> Error objects are a very expensive way to control the control flow
>>> as they carry their own pools, created from a thread-safe root pool.
>>>
>>> dag_open should not return an error to open_path if the dirent
>>> cannot be found, pass a NULL node back instead. This eliminates
>>> about 50% of all transitional error objects during log-y operations.
>
> I totally support this particular kind of change. It's simply good interface design.
>
I completely agree with Julian: the change itself is good, but
performance should not be justification for it. It makes design more
clear and consistent with other function that have IGNORE_ENOENT
argument.

-- 
Ivan Zhakov
CTO | VisualSVN | http://www.visualsvn.com
Received on 2014-04-14 18:25:49 CEST

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.