On 04.08.2014 16:30, Ivan Zhakov wrote: > On 4 August 2014 17:43, Branko Čibej <br...@wandisco.com> wrote: >> On 04.08.2014 14:22, Ivan Zhakov wrote: >> >> On 4 August 2014 02:47, <stef...@apache.org> wrote: >> >> Author: stefan2 >> Date: Sun Aug 3 22:47:07 2014 >> New Revision: 1615458 >> >> URL: http://svn.apache.org/r1615458 >> Log: >> On the authzperf branch: Speed up authz-aware 'svn log' by sorting the >> paths before checking them. This lets the recent O(1) authz lookup >> optimization for sibbling paths kick in. >> >> * subversion/libsvn_repos/log.c >> (check_changed_path): Factored out loop content of ... >> (detect_changed): ... this. Use sorted iteration when applying authz. >> >> Stefan, >> >> Could you please confirm after that commit repository layer will do >> more (sort changed path) assuming that particular authz check function >> will work faster if calls will come in sorted order? >> >> >> That's the general idea, yes; authz lookups should be MUCH faster with the >> new in-memory representation, and the representation will work best with >> in-order sequences of queries. Note that there is no semantic change for >> existing authz files. >> > I don't like such implicit coupling between layers for improving > performance. It will be very fragile optimization and could break in > future making performance worse than before.
Eh? How else do you propose to improve performance within a single module? The authz support is completely private to libsvn_repos. The purpose of the authzperf branch is not only to add wildcards to authz rules, but to speed up log &co., operations that are heavily affected by authz performance. It turns out that part of the fix is inventing smarter strategies for lookups into authz info. These /have/ to somehow affect the implementation bits of libsvn_repos outside the authz module, since otherwise they wouldn't be used. Once more, all these connections are completely private to libsvn_repos; there is no change in the any public API. Other than adding new rule syntaxes to authz files that are currently invalid and therefore never used. -- Brane -- Branko Čibej | Director of Subversion WANdisco | Realising the impossibilities of Big Data e. br...@wandisco.com