@author: icejoywoo @date: 15/12/6 """ import perf def even_filter_lc(): """ list comprehension """ return [i for i in xrange(1000) if i % 2 == 0] def even_filter_2(): """ built-in filter function """ return filter(lambda x: x % 2 == 0, xrange(1000)) def even_filter(): r = [] for i in xrange(1000): if i % 2 == 0: r.append(i) return r if __name__ == '__main__': print perf.perf(even_filter) print perf.perf(even_filter_2) print perf.perf(even_filter_lc)
return d.get(k, None) return wrapper query = query_wrapper() def query_wrapper_e(): d = [None] def wrapper(k): try: return d[0].get(k, None) except AttributeError: d[0] = dict([line.split() for line in dict_string.split('\n')]) return d[0].get(k, None) return wrapper query_e = query_wrapper_e() def test(f): for k in 'ABCDEFG': f(k) if __name__ == '__main__': print perf.perf(test, query) print perf.perf(test, query_e)
for i in l: if i not in words_tuple: f.append(i) return f def in_dict(): f = [] for i in l: if i not in words_dict: f.append(i) return f def in_set(): f = [] for i in l: if i not in words_set: f.append(i) return f if __name__ == '__main__': print perf.perf(in_string) print perf.perf(in_list) print perf.perf(in_tuple) print perf.perf(in_dict) print perf.perf(in_set)
#!/usr/bin/env python2.7 # encoding: utf-8 """ @brief: @author: icejoywoo @date: 15/12/6 """ import dis import perf def while_true(): while True: break def while_1(): while 1: break if __name__ == '__main__': print perf.perf(while_true) print perf.perf(while_1) print dis.dis(while_true) print dis.dis(while_1)
""" import re import perf s = ("Note that there is a significant advantage in Python to adding a number " "to itself instead of multiplying it by two or shifting it left by one bit. " "In C on all modern computer architectures, each of the three arithmetic " "operations are translated into a single machine instruction which executes " "in one cycle, so it doesn't really matter which one you choose.") words = re.split(r'\W', s) def string_add(): r = '' for w in words: r += w + ' ' return r def string_join(): return ' '.join(words) if __name__ == '__main__': print perf.perf(string_add) print perf.perf(string_join)
#!/usr/bin/env python2.7 # encoding: utf-8 """ @brief: @author: icejoywoo @date: 15/12/7 """ import string import perf def lower_with_import(): import string return string.lower('Python') def lower_without_import(): return string.lower('Python') if __name__ == '__main__': print perf.perf(lower_with_import) print perf.perf(lower_without_import)
#!/usr/bin/env python2.7 # encoding: utf-8 """ @brief: @author: icejoywoo @date: 15/12/6 """ import perf if __name__ == '__main__': print perf.perf(range, 10000) print perf.perf(xrange, 10000)
r.append(upper(i)) return r def upper_common_lc(): """ list comprehension """ return [str.upper(i) for i in s] def upper_common_lc_2(): """ list comprehension """ return [i.upper() for i in s] def upper_without_dots_lc(): """ list comprehension """ upper = str.upper return [upper(i) for i in s] if __name__ == '__main__': print perf.perf(upper_common) print perf.perf(upper_without_dots) print perf.perf(upper_common_lc) print perf.perf(upper_common_lc_2) print perf.perf(upper_without_dots_lc)