summaryrefslogtreecommitdiff
path: root/test/git/test_performance.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/git/test_performance.py')
-rw-r--r--test/git/test_performance.py25
1 files changed, 20 insertions, 5 deletions
diff --git a/test/git/test_performance.py b/test/git/test_performance.py
index 83d4a91e..5081bce8 100644
--- a/test/git/test_performance.py
+++ b/test/git/test_performance.py
@@ -10,6 +10,13 @@ from time import time
class TestPerformance(TestBase):
+ def _query_commit_info(self, c):
+ c.author
+ c.authored_date
+ c.committer
+ c.committed_date
+ c.message
+
def test_iteration(self):
num_objs = 0
num_commits = 0
@@ -21,11 +28,7 @@ class TestPerformance(TestBase):
st = time()
for c in self.rorepo.iter_commits('0.1.6'):
num_commits += 1
- c.author
- c.authored_date
- c.committer
- c.committed_date
- c.message
+ self._query_commit_info(c)
for obj in c.tree.traverse():
obj.size
num_objs += 1
@@ -34,3 +37,15 @@ class TestPerformance(TestBase):
elapsed_time = time() - st
print "Traversed %i Trees and a total of %i unchached objects in %s [s] ( %f objs/s )" % (num_commits, num_objs, elapsed_time, num_objs/elapsed_time)
+ def test_commit_traversal(self):
+ num_commits = 0
+
+ st = time()
+ for c in self.rorepo.commit('0.1.6').traverse(branch_first=False):
+ num_commits += 1
+ #if c.message == "initial project":
+ # raise "stop"
+ self._query_commit_info(c)
+ # END for each traversed commit
+ elapsed_time = time() - st
+ print "Traversed %i Commits in %s [s] ( %f objs/s )" % (num_commits, elapsed_time, num_commits/elapsed_time)