/[Apache-SVN]
ViewVC logotype

Revision 1559767


Jump to revision: Previous Next
Author: stefan2
Date: Mon Jan 20 16:23:15 2014 UTC (10 years, 3 months ago)
Changed paths: 1
Log Message:
Speed up txdelta for non-deltifyable sections.  This alone speeds up
the commit of a 1GB random data file form 28s to 14s.

The idea is to use a fixed-length bit array that tell us whether we
_might_ have a match for a given checksum.  In contrast to the iterative,
multi-level check in find_match, this pre-check is very fast and highly
predictable.

* subversion/libsvn_delta/xdelta.c
  (FLAGS_COUNT): Define a new array size constant.
  (blocks): Add the FLAGS array.
  (hash_flags): New, separate hash function for FLAGS.
  (add_block): Populate / update FLAGS as well.
  (init_blocks_table): Initialize FLAGS.
  (compute_delta): Add a tight loop skipping non-matching sections;
                   continue with normal lookup when there might be match.

Changed paths

Path Details
Directorysubversion/trunk/subversion/libsvn_delta/xdelta.c modified , text changed

infrastructure at apache.org
ViewVC Help
Powered by ViewVC 1.1.26