~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/benchmarks/bench_cache_utf8.py

  • Committer: John Arbash Meinel
  • Date: 2006-08-10 00:43:37 UTC
  • mto: This revision was merged to the branch mainline in revision 1926.
  • Revision ID: john@arbash-meinel.com-20060810004337-6aa4d7ea80e85093
Moving everything into a new location so that we can cache more than just revision ids

Show diffs side-by-side

added added

removed removed

Lines of Context:
16
16
"""Tests for encoding performance."""
17
17
 
18
18
from bzrlib import (
19
 
    revision,
 
19
    cache_utf8,
20
20
    osutils,
21
21
    )
22
22
 
37
37
    def setUp(self):
38
38
        super(EncodingBenchmark, self).setUp()
39
39
        # Make sure we start and end with a clean cache
40
 
        revision.clear_encoding_cache()
41
 
        self.addCleanup(revision.clear_encoding_cache)
 
40
        cache_utf8.clear_encoding_cache()
 
41
        self.addCleanup(cache_utf8.clear_encoding_cache)
42
42
 
43
43
    def encode_1M(self, revision_id):
44
44
        """Encode the given revision id 1 million times"""
50
50
 
51
51
    def encode_cached_1M(self, revision_id):
52
52
        """Encode the given revision id 1 million times using the cache"""
53
 
        encode_utf8 = revision.encode_utf8
 
53
        encode = cache_utf8.encode
54
54
        for i in xrange(1000000):
55
 
            encode_utf8(revision_id)
 
55
            encode(revision_id)
56
56
 
57
57
    def encode_multi(self, revision_list, count):
58
58
        """Encode each entry in the list count times"""
62
62
 
63
63
    def encode_cached_multi(self, revision_list, count):
64
64
        """Encode each entry in the list count times"""
65
 
        encode_utf8 = revision.encode_utf8
 
65
        encode = cache_utf8.encode
66
66
        for i in xrange(count):
67
67
            for revision_id in revision_list:
68
 
                encode_utf8(revision_id)
 
68
                encode(revision_id)
69
69
 
70
70
    def test_encode_1_by_1M_ascii(self):
71
71
        """Test encoding a single revision id 1 million times."""
120
120
    def setUp(self):
121
121
        super(DecodingBenchmarks, self).setUp()
122
122
        # Make sure we start and end with a clean cache
123
 
        revision.clear_encoding_cache()
124
 
        self.addCleanup(revision.clear_encoding_cache)
 
123
        cache_utf8.clear_encoding_cache()
 
124
        self.addCleanup(cache_utf8.clear_encoding_cache)
125
125
 
126
126
    def decode_1M(self, revision_id):
127
127
        for i in xrange(1000000):
128
128
            revision_id.decode('utf8')
129
129
 
130
130
    def decode_cached_1M(self, revision_id):
131
 
        decode_utf8 = revision.decode_utf8
 
131
        decode = cache_utf8.decode
132
132
        for i in xrange(1000000):
133
 
            decode_utf8(revision_id)
 
133
            decode(revision_id)
134
134
 
135
135
    def decode_multi(self, revision_list, count):
136
136
        for i in xrange(count):
138
138
                revision_id.decode('utf-8')
139
139
 
140
140
    def decode_cached_multi(self, revision_list, count):
141
 
        decode_utf8 = revision.decode_utf8
 
141
        decode = cache_utf8.decode
142
142
        for i in xrange(count):
143
143
            for revision_id in revision_list:
144
 
                decode_utf8(revision_id)
 
144
                decode(revision_id)
145
145
 
146
146
    def test_decode_1_by_1M_ascii(self):
147
147
        """Test decoding a single revision id 1 million times."""