def test_slice_vs_startswith(self):
setup = '''x = 'a' * 100\n'''
a = timeit(
'''x[:2] == " "\n''',
setup=setup,
number=100000)
b = timeit(
'''x.startswith(" ")\n''',
setup=setup,
number=100000)
c = timeit(
'''x[0] == " " and x[1] == " "\n''',
setup=setup,
number=100000)
#print "\na %s, b %s, c %s | %s %s" % (a, b, c, c, a/c)
# Calling a function or member is significantly slower than direct access.
self.assertGreater(b, a * 2.0) # b is much slower.
self.assertGreater(b, c * 2.0) # b is much slower.
self.assertGreater(a, c * 0.7) # a and c are similar.
self.assertGreater(c, a * 0.7) # a and c are similar.
评论列表
文章目录