~bzr-pqm/bzr/bzr.dev

1707.2.2 by Robert Collins
Start on bench_add, an add benchtest.
1
# Copyright (C) 2006 by Canonical Ltd
2
#
3
# This program is free software; you can redistribute it and/or modify
4
# it under the terms of the GNU General Public License version 2 as published by
5
# the Free Software Foundation.
6
#
7
# This program is distributed in the hope that it will be useful,
8
# but WITHOUT ANY WARRANTY; without even the implied warranty of
9
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
10
# GNU General Public License for more details.
11
#
12
# You should have received a copy of the GNU General Public License
13
# along with this program; if not, write to the Free Software
14
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
15
1707.2.3 by Robert Collins
Add a setBenchmarkTime method to the bzrlib test result allowing introduction of granular benchmarking. (Robert Collins, Martin Pool).
16
"""Tests for bzr add performance."""
17
18
1714.1.4 by Robert Collins
Add new benchmarks for status and commit.
19
from bzrlib.benchmarks import Benchmark
20
21
1714.1.7 by Robert Collins
Review feedback.
22
class AddBenchmark(Benchmark):
1707.2.3 by Robert Collins
Add a setBenchmarkTime method to the bzrlib test result allowing introduction of granular benchmarking. (Robert Collins, Martin Pool).
23
24
    def test_one_add_kernel_like_tree(self):
25
        """Adding a kernel sized tree should be bearable (<5secs) fast.""" 
1714.1.7 by Robert Collins
Review feedback.
26
        self.make_kernel_like_tree()
1753.1.1 by Robert Collins
(rbc, jam, mbp)Add bzrlib.osutils.walkdirs, an optimised walk-and-stat routine.
27
        # on roberts machine: this originally took:  25936ms/32244ms
28
        # after making smart_add use the parent_ie:   5033ms/ 9368ms
29
        # 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).
30
        self.time(self.run_bzr, 'add')