/[Apache-SVN]
ViewVC logotype

Revision 1634875


Jump to revision: Previous Next
Author: stefan2
Date: Tue Oct 28 13:19:30 2014 UTC (9 years, 6 months ago)
Changed paths: 1
Log Message:
Speed up packed revprop access by tuning the manifest file parser.

The core loop of this accounted for approx. 40% of 'svn log -v' with
50M iterations/s.  Because the number of entries to parse is fixed
by the number of revisions in the shard, the only option here is to
rewrite that loop eliminating any overhead in it.

We put file size and contents guarantees in front of the loop.  Some
major contribution comes from the fact that (usually) all lines have
the same predictable length (the few that don't are slightly longer).
So, we can efficiently replace strchr().  Finally, we access source
and target buffers as plain C arrays.

* subversion/libsvn_fs_fs/revprops.c
  (get_min_filename_len): New utility function.
  (get_revprop_packname): Mainly rewrite.

Changed paths

Path Details
Directorysubversion/trunk/subversion/libsvn_fs_fs/revprops.c modified , text changed

infrastructure at apache.org
ViewVC Help
Powered by ViewVC 1.1.26