195
195
self.commit_some_revisions(tree, files[:1000], 1000, 1)
196
196
self._time_read_write()
198
class BundleLibraryLevelInstallBenchmark(Benchmark):
199
""" Benchmarks for the install_bundle library function. """
201
def _time_read_write(self):
202
branch, relpath = Branch.open_containing("a")
203
revision_history = branch.revision_history()
204
bundle_text = StringIO()
205
write_bundle(branch.repository, revision_history[-1],
206
NULL_REVISION, bundle_text)
208
target_tree = self.make_branch_and_tree('b')
209
bundle = self.time(read_bundle, bundle_text)
210
self.time(install_bundle, target_tree.branch.repository, bundle)
212
def test_few_files_small_tree_1_revision(self):
214
tree, files = self.create_with_commits(5, 1, directory_name="a")
215
self.commit_some_revisions(tree, files[:5], 1, 1)
216
self._time_read_write()
218
def test_few_files_small_tree_100_revision(self):
220
tree, files = self.create_with_commits(5, 1, directory_name="a")
221
self.commit_some_revisions(tree, files[:5], 100, 1)
222
self._time_read_write()
224
def test_few_files_moderate_tree_1_revision(self):
226
tree, files = self.create_with_commits(100, 1, directory_name="a")
227
self.commit_some_revisions(tree, files[:5], 1, 1)
228
self._time_read_write()
230
def test_few_files_moderate_tree_100_revision(self):
232
tree, files = self.create_with_commits(100, 1, directory_name="a")
233
self.commit_some_revisions(tree, files[:5], 100, 1)
234
self._time_read_write()
236
def test_some_files_moderate_tree_1_revision(self):
238
tree, files = self.create_with_commits(100, 1, directory_name="a")
239
self.commit_some_revisions(tree, files[:100], 1, 1)
240
self._time_read_write()
242
def test_some_files_moderate_tree_100_revision(self):
244
tree, files = self.create_with_commits(100, 1, directory_name="a")
245
self.commit_some_revisions(tree, files[:100], 100, 1)
246
self._time_read_write()
248
def test_few_files_big_tree_1_revision(self):
250
tree, files = self.create_with_commits(1000, 1, directory_name="a")
251
self.commit_some_revisions(tree, files[:5], 1, 1)
252
self._time_read_write()
254
def test_few_files_big_tree_100_revision(self):
256
tree, files = self.create_with_commits(1000, 1, directory_name="a")
257
self.commit_some_revisions(tree, files[:5], 100, 1)
258
self._time_read_write()
260
def test_some_files_big_tree_1_revision(self):
262
tree, files = self.create_with_commits(1000, 1, directory_name="a")
263
self.commit_some_revisions(tree, files[:100], 1, 1)
264
self._time_read_write()
266
def test_some_files_big_tree_100_revision(self):
268
tree, files = self.create_with_commits(1000, 1, directory_name="a")
269
self.commit_some_revisions(tree, files[:100], 100, 1)
270
self._time_read_write()
272
def test_many_files_big_tree_1_revision(self):
274
tree, files = self.create_with_commits(1000, 1, directory_name="a")
275
self.commit_some_revisions(tree, files[:1000], 1, 1)
276
self._time_read_write()
278
def test_many_files_big_tree_100_revision(self):
280
tree, files = self.create_with_commits(1000, 1, directory_name="a")
281
self.commit_some_revisions(tree, files[:1000], 100, 1)
282
self._time_read_write()
199
285
if __name__ == '__main__':
200
286
# USE the following if you want to regenerate the above test functions