> -----Original Message----- > From: Ivan Zhakov [mailto:i...@visualsvn.com] > Sent: donderdag 16 mei 2013 23:15 > To: dev@subversion.apache.org; stef...@apache.org > 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, <stef...@apache.org> 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