~bzr-pqm/bzr/bzr.dev

2052.3.2 by John Arbash Meinel
Change Copyright .. by Canonical to Copyright ... Canonical
1
# Copyright (C) 2006 Canonical Ltd
1707.2.2 by Robert Collins
Start on bench_add, an add benchtest.
2
#
3
# This program is free software; you can redistribute it and/or modify
2052.3.1 by John Arbash Meinel
Add tests to cleanup the copyright of all source files
4
# it under the terms of the GNU General Public License as published by
5
# the Free Software Foundation; either version 2 of the License, or
6
# (at your option) any later version.
1707.2.2 by Robert Collins
Start on bench_add, an add benchtest.
7
#
8
# This program is distributed in the hope that it will be useful,
9
# but WITHOUT ANY WARRANTY; without even the implied warranty of
10
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11
# GNU General Public License for more details.
12
#
13
# You should have received a copy of the GNU General Public License
14
# along with this program; if not, write to the Free Software
4183.7.1 by Sabin Iacob
update FSF mailing address
15
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
1707.2.2 by Robert Collins
Start on bench_add, an add benchtest.
16
1707.2.3 by Robert Collins
Add a setBenchmarkTime method to the bzrlib test result allowing introduction of granular benchmarking. (Robert Collins, Martin Pool).
17
"""Tests for bzr add performance."""
18
19
1714.1.4 by Robert Collins
Add new benchmarks for status and commit.
20
from bzrlib.benchmarks import Benchmark
21
22
1714.1.7 by Robert Collins
Review feedback.
23
class AddBenchmark(Benchmark):
2399.1.7 by John Arbash Meinel
Cleanup bzrlib/benchmarks/* so that everything at least has a valid doc string.
24
    """Benchmarks for 'bzr add'"""
1707.2.3 by Robert Collins
Add a setBenchmarkTime method to the bzrlib test result allowing introduction of granular benchmarking. (Robert Collins, Martin Pool).
25
26
    def test_one_add_kernel_like_tree(self):
3943.8.1 by Marius Kruger
remove all trailing whitespace from bzr source
27
        """Adding a kernel sized tree should be bearable (<5secs) fast."""
1908.2.11 by John Arbash Meinel
Change caching logic. Don't cache at all without --cache-dir being supplied
28
        self.make_kernel_like_tree(link_working=True)
1753.1.1 by Robert Collins
(rbc, jam, mbp)Add bzrlib.osutils.walkdirs, an optimised walk-and-stat routine.
29
        # on roberts machine: this originally took:  25936ms/32244ms
30
        # after making smart_add use the parent_ie:   5033ms/ 9368ms
31
        # plain os.walk takes 213ms on this tree
1707.2.3 by Robert Collins
Add a setBenchmarkTime method to the bzrlib test result allowing introduction of granular benchmarking. (Robert Collins, Martin Pool).
32
        self.time(self.run_bzr, 'add')