#!/usr/bin/env python # -*- coding: utf-8 -*- import sys import os import time sys.stdout = os.fdopen(sys.stdout.fileno(), "wb", 0) #-u MAX_RANGE = 1000000 def test_dict(): #[2012-02-01] set 1.05s get 0.75s clear 0.11s print "---- test_dict -----" start = time.time() print "test dict set (%d)...\t"%MAX_RANGE, d = {} for i in xrange(MAX_RANGE): s = str(i) d[s] = s print "%.2fs"%(time.time()-start) start = time.time() print "test dict get (%d)...\t"%MAX_RANGE, for i in xrange(MAX_RANGE): s = d[str(i)] print "%.2fs"%(time.time()-start) start = time.time() print "test dict clear (%d)...\t"%MAX_RANGE, d.clear() print "%.2fs"%(time.time()-start) print def test_list(): #[2012-02-04] set 0.02s get 0.09s each 0.09s start = time.time() print "---- test_list -----" print "test list set (%d)...\t"%MAX_RANGE, l = range(MAX_RANGE) print "%.2fs"%(time.time()-start) start = time.time() print "test list get (%d)...\t"%MAX_RANGE, for i in xrange(MAX_RANGE): l[i] print "%.2fs"%(time.time()-start) start = time.time() print "test list each (%d)...\t"%MAX_RANGE, for i in l: i+=1 #no effect print "%.2fs"%(time.time()-start) print def test_str(): #[2012-02-05] find 0.94s replace 0.67s print "---- test_str -----" string = "1143534=69789+35435^(100&10+5)" rep_before = "35" rep_after = "3535" start = time.time() print "test str find (%d)...\t"%MAX_RANGE, for i in xrange(MAX_RANGE): string.find(str(i)) print "%.2fs"%(time.time()-start) start = time.time() print "test str replace (%d)...\t"%MAX_RANGE, for i in xrange(MAX_RANGE/2): string = string.replace(rep_before, rep_after) string = string.replace(rep_after, rep_before) print "%.2fs"%(time.time()-start) print if __name__ == "__main__": test_dict() test_list() test_str()