Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/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()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement