Mercurial > hgsubversion
view tests/test_binaryfiles.py @ 637:92f4a4b60696
rebuildmeta: optimize by removing quadratic time usage
Calling ctx.children() for revision R visits all revisions greater than
R. If I remember my algorithmics right, that's O(n^2). Performing an
extra traversal, however, is O(n).
A quick benchmark on a repository ~20k revisions:
before: 445.27s user 1.10s system
after: 7.25s user 0.25s system
The resulting `svn' directories are exactly the same, and the tests
continue to pass.
author | Dan Villiom Podlaski Christiansen <danchr@gmail.com> |
---|---|
date | Fri, 09 Jul 2010 22:18:27 +0200 |
parents | 906d3f302b45 |
children | d2ef7220a079 |
line wrap: on
line source
import unittest import test_util class TestFetchBinaryFiles(test_util.TestBase): def test_binaryfiles(self, stupid=False): repo = self._load_fixture_and_fetch('binaryfiles.svndump', stupid=stupid) self.assertEqual('cce7fe400d8d', str(repo['tip'])) def test_binaryfiles_stupid(self): self.test_binaryfiles(True) def suite(): all = [unittest.TestLoader().loadTestsFromTestCase(TestFetchBinaryFiles), ] return unittest.TestSuite(all)