diff options
author | Paul Sokolovsky <pfalcon@users.sourceforge.net> | 2014-06-19 22:27:13 +0300 |
---|---|---|
committer | Paul Sokolovsky <pfalcon@users.sourceforge.net> | 2014-06-19 22:27:13 +0300 |
commit | 74c710187c77ebd5ab8c5a44b07087f2c2ca786e (patch) | |
tree | ea1f64e5f1e7edc32a0f707fa794a5fea1cb5d78 | |
parent | 59ced651b542941f893293099a932252e498eb7c (diff) | |
download | micropython-74c710187c77ebd5ab8c5a44b07087f2c2ca786e.tar.gz micropython-74c710187c77ebd5ab8c5a44b07087f2c2ca786e.zip |
bench: Three ways to process a byte buffer.
-rw-r--r-- | tests/bench/bytebuf-1-inplace.py | 11 | ||||
-rw-r--r-- | tests/bench/bytebuf-2-join_map_bytes.py | 12 | ||||
-rw-r--r-- | tests/bench/bytebuf-3-bytarray_map.py | 10 |
3 files changed, 33 insertions, 0 deletions
diff --git a/tests/bench/bytebuf-1-inplace.py b/tests/bench/bytebuf-1-inplace.py new file mode 100644 index 0000000000..7e7d9391cc --- /dev/null +++ b/tests/bench/bytebuf-1-inplace.py @@ -0,0 +1,11 @@ +# Doing some operation on bytearray +# Inplace - the most memory efficient way +import bench + +def test(num): + for i in iter(range(num//10000)): + ba = bytearray(b"\0" * 1000) + for i in range(len(ba)): + ba[i] += 1 + +bench.run(test) diff --git a/tests/bench/bytebuf-2-join_map_bytes.py b/tests/bench/bytebuf-2-join_map_bytes.py new file mode 100644 index 0000000000..daa622991f --- /dev/null +++ b/tests/bench/bytebuf-2-join_map_bytes.py @@ -0,0 +1,12 @@ +# Doing some operation on bytearray +# Pretty weird way - map bytearray thru function, but make sure that +# function return bytes of size 1, then join them together. Surely, +# this is slowest way to do it. +import bench + +def test(num): + for i in iter(range(num//10000)): + ba = bytearray(b"\0" * 1000) + ba2 = b''.join(map(lambda x:bytes([x + 1]), ba)) + +bench.run(test) diff --git a/tests/bench/bytebuf-3-bytarray_map.py b/tests/bench/bytebuf-3-bytarray_map.py new file mode 100644 index 0000000000..078d08e99b --- /dev/null +++ b/tests/bench/bytebuf-3-bytarray_map.py @@ -0,0 +1,10 @@ +# Doing some operation on bytearray +# No joins, but still map(). +import bench + +def test(num): + for i in iter(range(num//10000)): + ba = bytearray(b"\0" * 1000) + ba2 = bytearray(map(lambda x: x + 1, ba)) + +bench.run(test) |