> -----Original Message-----
> From: Ivan Zhakov [mailto:[email protected]]
> Sent: donderdag 16 mei 2013 23:15
> To: [email protected]; [email protected]
> Subject: Re: svn commit: r1483532 - in /subversion/trunk/subversion:
> include/ libsvn_client/ libsvn_fs_base/ libsvn_fs_fs/ libsvn_ra/
> libsvn_ra_local/ libsvn_ra_svn/ libsvn_repos/ libsvn_subr/ libsvn_wc/
> mod_dav_svn/ svndumpfilter/ svnmucc/ svnrdump/ svnserve/ svn
>
> On Thu, May 16, 2013 at 11:48 PM, <[email protected]> wrote:
> > Author: stefan2
> > Date: Thu May 16 19:48:47 2013
> > New Revision: 1483532
> >
> > URL: http://svn.apache.org/r1483532
> > Log:
> > We frequently use property name constants in conjunction with hash
> containers.
> > Provide new wrappers around apr_hash_get and apr_hash_set that accept
> such
> > string constants and statically determine their size. That minimizes the
> > hash access costs.
> >
> > Mass change hash get and set calls for SVN_PROP_* constants.
> >
> Hi Stefan,
>
> Is the performance gain costs code complexity? Please understand my
> correctly: it's great improve Subversion speed. I just don't like the
> idea getting code more complicated to win just several cycles.
I can see this change making some difference when used in a tight loop in fsfs,
but in almost every case updated here it is a single call per 'svn' (or other
tool) invocation and I don't think the added complexity and the risk of
accidentally applying it to a pointer in the future makes sense here. The cost
of a strlen on a string of a few characters certainly isn't that high.
The IO overhead is so much larger that global changes like this in the higher
layers don't make any sense to me.
Bert
>
> --
> Ivan Zhakov
> CTO | VisualSVN | http://www.visualsvn.com