196
196
def test__read_dirblocks_20k_tree_0_parents_py(self):
197
from bzrlib._dirstate_helpers_py import _read_dirblocks_py
197
from bzrlib._dirstate_helpers_py import _read_dirblocks
198
198
state = self.build_20k_dirstate()
199
199
state.lock_read()
201
201
self.assertEqual(dirstate.DirState.NOT_IN_MEMORY,
202
202
state._dirblock_state)
203
203
state._read_header_if_needed()
204
self.time(_read_dirblocks_py, state)
204
self.time(_read_dirblocks, state)
208
def test__read_dirblocks_20k_tree_0_parents_c(self):
208
def test__read_dirblocks_20k_tree_0_parents_pyx(self):
209
209
self.requireFeature(CompiledDirstateHelpersFeature)
210
from bzrlib._dirstate_helpers_c import _read_dirblocks_c
210
from bzrlib._dirstate_helpers_pyx import _read_dirblocks
211
211
state = self.build_20k_dirstate()
212
212
state.lock_read()
214
214
self.assertEqual(dirstate.DirState.NOT_IN_MEMORY,
215
215
state._dirblock_state)
216
216
state._read_header_if_needed()
217
self.time(_read_dirblocks_c, state)
217
self.time(_read_dirblocks, state)
221
221
def test__read_dirblocks_20k_tree_1_parent_py(self):
222
from bzrlib._dirstate_helpers_py import _read_dirblocks_py
222
from bzrlib._dirstate_helpers_py import _read_dirblocks
223
223
state = self.build_20k_dirstate_with_parents(1)
224
224
state.lock_read()
226
226
self.assertEqual(dirstate.DirState.NOT_IN_MEMORY,
227
227
state._dirblock_state)
228
228
state._read_header_if_needed()
229
self.time(_read_dirblocks_py, state)
229
self.time(_read_dirblocks, state)
233
def test__read_dirblocks_20k_tree_1_parent_c(self):
233
def test__read_dirblocks_20k_tree_1_parent_pyx(self):
234
234
self.requireFeature(CompiledDirstateHelpersFeature)
235
from bzrlib._dirstate_helpers_c import _read_dirblocks_c
235
from bzrlib._dirstate_helpers_pyx import _read_dirblocks
236
236
state = self.build_20k_dirstate_with_parents(1)
237
237
state.lock_read()
239
239
self.assertEqual(dirstate.DirState.NOT_IN_MEMORY,
240
240
state._dirblock_state)
241
241
state._read_header_if_needed()
242
self.time(_read_dirblocks_c, state)
242
self.time(_read_dirblocks, state)
246
246
def test__read_dirblocks_20k_tree_2_parents_py(self):
247
from bzrlib._dirstate_helpers_py import _read_dirblocks_py
247
from bzrlib._dirstate_helpers_py import _read_dirblocks
248
248
state = self.build_20k_dirstate_with_parents(2)
249
249
state.lock_read()
251
251
self.assertEqual(dirstate.DirState.NOT_IN_MEMORY,
252
252
state._dirblock_state)
253
253
state._read_header_if_needed()
254
self.time(_read_dirblocks_py, state)
254
self.time(_read_dirblocks, state)
258
def test__read_dirblocks_20k_tree_2_parents_c(self):
258
def test__read_dirblocks_20k_tree_2_parents_pyx(self):
259
259
self.requireFeature(CompiledDirstateHelpersFeature)
260
from bzrlib._dirstate_helpers_c import _read_dirblocks_c
260
from bzrlib._dirstate_helpers_pyx import _read_dirblocks
261
261
state = self.build_20k_dirstate_with_parents(2)
262
262
state.lock_read()
264
264
self.assertEqual(dirstate.DirState.NOT_IN_MEMORY,
265
265
state._dirblock_state)
266
266
state._read_header_if_needed()
267
self.time(_read_dirblocks_c, state)
267
self.time(_read_dirblocks, state)
313
313
self.assertEqualDiff(expected_str, offset_str)
315
315
def test_bisect_dirblock_py(self):
316
from bzrlib._dirstate_helpers_py import bisect_dirblock_py
316
from bzrlib._dirstate_helpers_py import bisect_dirblock
317
317
state = self.build_10k_dirstate_dirs()
318
318
state.lock_read()
320
320
self.setup_paths_and_offsets(state)
321
321
offsets = self.time(self.do_bisect_list,
323
323
self.checkOffsets(offsets)
327
327
def test_bisect_dirblock_cached_py(self):
328
from bzrlib._dirstate_helpers_py import bisect_dirblock_py
328
from bzrlib._dirstate_helpers_py import bisect_dirblock
329
329
state = self.build_10k_dirstate_dirs()
330
330
state.lock_read()
332
332
self.setup_paths_and_offsets(state)
333
333
offsets = self.time(self.do_bisect_list_cached,
335
335
self.checkOffsets(offsets)
339
def test_bisect_dirblock_c(self):
339
def test_bisect_dirblock_pyx(self):
340
340
self.requireFeature(CompiledDirstateHelpersFeature)
341
from bzrlib._dirstate_helpers_c import bisect_dirblock_c
341
from bzrlib._dirstate_helpers_pyx import bisect_dirblock
342
342
state = self.build_10k_dirstate_dirs()
343
343
state.lock_read()
345
345
self.setup_paths_and_offsets(state)
346
offsets = self.time(self.do_bisect_list, bisect_dirblock_c)
346
offsets = self.time(self.do_bisect_list, bisect_dirblock)
347
347
self.checkOffsets(offsets)
416
416
def test_cmp_by_dirs_py(self):
417
417
"""Benchmark 103041 comparisons."""
418
from bzrlib._dirstate_helpers_py import cmp_by_dirs_py
419
self.compareAllPaths(cmp_by_dirs_py,
418
from bzrlib._dirstate_helpers_py import cmp_by_dirs
419
self.compareAllPaths(cmp_by_dirs,
420
420
[(3, 1), (3, 1), (3, 1), (3, 2)])
422
def test_cmp_by_dirs_c(self):
422
def test_cmp_by_dirs_pyrex(self):
423
423
self.requireFeature(CompiledDirstateHelpersFeature)
424
from bzrlib._dirstate_helpers_c import cmp_by_dirs_c
425
self.compareAllPaths(cmp_by_dirs_c,
424
from bzrlib._dirstate_helpers_pyx import cmp_by_dirs
425
self.compareAllPaths(cmp_by_dirs,
426
426
[(3, 1), (3, 1), (3, 1), (3, 2)])