summaryrefslogtreecommitdiff
path: root/test/git/test_performance.py
diff options
context:
space:
mode:
authorSebastian Thiel <byronimo@gmail.com>2010-06-02 16:13:32 +0200
committerSebastian Thiel <byronimo@gmail.com>2010-06-02 16:13:32 +0200
commit4e1c89ec97ec90037583e85d0e9e71e9c845a19b (patch)
treee1ab3782a5d0f53a61e315221e51e5f820d440e9 /test/git/test_performance.py
parent4a25347d7f4c371345da2348ac6cceec7a143da2 (diff)
downloadgitpython-4e1c89ec97ec90037583e85d0e9e71e9c845a19b.tar.gz
Added performance testing foundation library, reworked existing performance tests to work on larger repositories
Diffstat (limited to 'test/git/test_performance.py')
-rw-r--r--test/git/test_performance.py68
1 files changed, 0 insertions, 68 deletions
diff --git a/test/git/test_performance.py b/test/git/test_performance.py
deleted file mode 100644
index c1f8ce59..00000000
--- a/test/git/test_performance.py
+++ /dev/null
@@ -1,68 +0,0 @@
-# test_performance.py
-# Copyright (C) 2008, 2009 Michael Trier (mtrier@gmail.com) and contributors
-#
-# This module is part of GitPython and is released under
-# the BSD License: http://www.opensource.org/licenses/bsd-license.php
-
-from test.testlib import *
-from git import *
-from time import time
-import sys
-
-class TestPerformance(TestBase):
-
- # ref with about 100 commits in its history
- ref_100 = '0.1.6'
-
- def _query_commit_info(self, c):
- c.author
- c.authored_date
- c.author_tz_offset
- c.committer
- c.committed_date
- c.committer_tz_offset
- c.message
- c.parents
-
- def test_iteration(self):
- no = 0
- nc = 0
-
- # find the first commit containing the given path - always do a full
- # iteration ( restricted to the path in question ), but in fact it should
- # return quite a lot of commits, we just take one and hence abort the operation
-
- st = time()
- for c in self.rorepo.iter_commits(self.ref_100):
- nc += 1
- self._query_commit_info(c)
- for obj in c.tree.traverse():
- obj.size
- no += 1
- # END for each object
- # END for each commit
- elapsed_time = time() - st
- print >> sys.stderr, "Traversed %i Trees and a total of %i unchached objects in %s [s] ( %f objs/s )" % (nc, no, elapsed_time, no/elapsed_time)
-
- def test_commit_traversal(self):
- # bound to cat-file parsing performance
- nc = 0
- st = time()
- for c in self.rorepo.commit(self.ref_100).traverse(branch_first=False):
- nc += 1
- self._query_commit_info(c)
- # END for each traversed commit
- elapsed_time = time() - st
- print >> sys.stderr, "Traversed %i Commits in %s [s] ( %f commits/s )" % (nc, elapsed_time, nc/elapsed_time)
-
- def test_commit_iteration(self):
- # bound to stream parsing performance
- nc = 0
- st = time()
- for c in Commit.iter_items(self.rorepo, self.ref_100):
- nc += 1
- self._query_commit_info(c)
- # END for each traversed commit
- elapsed_time = time() - st
- print >> sys.stderr, "Iterated %i Commits in %s [s] ( %f commits/s )" % (nc, elapsed_time, nc/elapsed_time)
-