Browse Source

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.
pull/706/merge
Paul Sokolovsky 11 years ago
parent
commit
17db096505
  1. 8
      tests/bench/from_iter-1-list_bound.py
  2. 8
      tests/bench/from_iter-2-list_unbound.py
  3. 8
      tests/bench/from_iter-3-tuple_bound.py
  4. 8
      tests/bench/from_iter-4-tuple_unbound.py
  5. 8
      tests/bench/from_iter-5-bytes_bound.py
  6. 8
      tests/bench/from_iter-6-bytes_unbound.py
  7. 8
      tests/bench/from_iter-7-bytearray_bound.py
  8. 8
      tests/bench/from_iter-8-bytearray_unbound.py

8
tests/bench/from_iter-1-list_bound.py

@ -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)

8
tests/bench/from_iter-2-list_unbound.py

@ -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)

8
tests/bench/from_iter-3-tuple_bound.py

@ -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)

8
tests/bench/from_iter-4-tuple_unbound.py

@ -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)

8
tests/bench/from_iter-5-bytes_bound.py

@ -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)

8
tests/bench/from_iter-6-bytes_unbound.py

@ -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)

8
tests/bench/from_iter-7-bytearray_bound.py

@ -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)

8
tests/bench/from_iter-8-bytearray_unbound.py

@ -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)
Loading…
Cancel
Save