bench: Add tests for constructing various containers from iterator.

Both "bound" (like, length known) and "unbound" (length unknown) are tested.
All of list, tuple, bytes, bytesarray offer approximately the same
performance, with "unbound" case being 30 times slower.
This commit is contained in:
Paul Sokolovsky 2014-06-19 21:44:33 +03:00
parent e53d2197e4
commit 17db096505
8 changed files with 64 additions and 0 deletions

View File

@ -0,0 +1,8 @@
import bench
def test(num):
for i in iter(range(num//10000)):
l = [0] * 1000
l2 = list(l)
bench.run(test)

View File

@ -0,0 +1,8 @@
import bench
def test(num):
for i in iter(range(num//10000)):
l = [0] * 1000
l2 = list(map(lambda x: x, l))
bench.run(test)

View File

@ -0,0 +1,8 @@
import bench
def test(num):
for i in iter(range(num//10000)):
l = [0] * 1000
l2 = tuple(l)
bench.run(test)

View File

@ -0,0 +1,8 @@
import bench
def test(num):
for i in iter(range(num//10000)):
l = [0] * 1000
l2 = tuple(map(lambda x: x, l))
bench.run(test)

View File

@ -0,0 +1,8 @@
import bench
def test(num):
for i in iter(range(num//10000)):
l = [0] * 1000
l2 = bytes(l)
bench.run(test)

View File

@ -0,0 +1,8 @@
import bench
def test(num):
for i in iter(range(num//10000)):
l = [0] * 1000
l2 = bytes(map(lambda x: x, l))
bench.run(test)

View File

@ -0,0 +1,8 @@
import bench
def test(num):
for i in iter(range(num//10000)):
l = [0] * 1000
l2 = bytearray(l)
bench.run(test)

View File

@ -0,0 +1,8 @@
import bench
def test(num):
for i in iter(range(num//10000)):
l = [0] * 1000
l2 = bytearray(map(lambda x: x, l))
bench.run(test)