~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/benchmarks/bench_add.py

  • Committer: Canonical.com Patch Queue Manager
  • Date: 2006-05-22 12:13:36 UTC
  • mfrom: (1721.1.2 integration)
  • Revision ID: pqm@pqm.ubuntu.com-20060522121336-5acff1b97052717d
Benchmarks for status, commit, checkout --lightweight. (Robert Collins).

Show diffs side-by-side

added added

removed removed

Lines of Context:
16
16
"""Tests for bzr add performance."""
17
17
 
18
18
 
19
 
from bzrlib.tests.blackbox import ExternalBase
20
 
 
21
 
 
22
 
class TestAdd(ExternalBase):
 
19
from bzrlib.benchmarks import Benchmark
 
20
 
 
21
 
 
22
class AddBenchmark(Benchmark):
23
23
 
24
24
    def test_one_add_kernel_like_tree(self):
25
25
        """Adding a kernel sized tree should be bearable (<5secs) fast.""" 
26
 
        # a kernel tree has ~10000 and 500 directory, with most files around 
27
 
        # 3-4 levels deep. 
28
 
        # we simulate this by three levels of dirs named 0-7, givin 512 dirs,
29
 
        # and 20 files each.
 
26
        self.make_kernel_like_tree()
30
27
        # on roberts machine this originally took: 25936ms/32244ms
31
28
        # after low hanging fruit                :  9692ms/13911ms
32
 
        self.run_bzr('init')
33
 
        files = []
34
 
        for outer in range(8):
35
 
            files.append("%s/" % outer)
36
 
            for middle in range(8):
37
 
                files.append("%s/%s/" % (outer, middle))
38
 
                for inner in range(8):
39
 
                    prefix = "%s/%s/%s/" % (outer, middle, inner)
40
 
                    files.append(prefix)
41
 
                    files.extend([prefix + str(foo) for foo in range(20)])
42
 
        self.build_tree(files)
43
29
        self.time(self.run_bzr, 'add')