"""Performance tester""" from p4 import P4 import os, sys, string, marshal class p4g: def __init__(self, port=None, user=None): self.options = '' if not port is None: self.options = " -p " + port if not user is None: self.options += " -u " + user self.mode = 'rb' if os.name != 'nt' : self.mode = 'r' def run(self, command): command = "p4.exe -G " + self.options + " " + command stream = os.popen(command, self.mode) results = [] try: while 1: results.append(marshal.load(stream)) except EOFError: status = stream.close() #if status: #raise "Perforce Error", "exit status %d" % status if (len(results) == 1 and results[0].has_key('code') and results[0]["code"] == "error"): raise "Perforce Error", results[0]["data"] return results def p4g_test(p4): return p4.run("info") def p4g_setup(): return p4g("1666", "robert") def p4_test(p4): return p4.run("info", None) def p4_setup(): p4 = P4() p4.Port = "1666" p4.User = "robert" p4.Client = "bruno_ws" p4.connect() return p4 if __name__ == "__main__": from timeit import Timer t = Timer("p4_test(p4)", 'from __main__ import p4_setup, p4_test' + '\n' + 'p4 = p4_setup()') print t.timeit(100) t = Timer("p4g_test(p4)", 'from __main__ import p4g_setup, p4g_test' + '\n' + 'p4 = p4g_setup()') print t.timeit(100)