Created
July 15, 2014 11:59
-
-
Save kmike/4e79964c1d589faef174 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"metadata": { | |
"name": "", | |
"signature": "sha256:cb77beb337d81f4520cac0ff01074619b9a04c7eaf8fa5405343cc8593ee2668" | |
}, | |
"nbformat": 3, | |
"nbformat_minor": 0, | |
"worksheets": [ | |
{ | |
"cells": [ | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": [ | |
"from io import BytesIO\n", | |
"from cStringIO import StringIO\n", | |
"from six import BytesIO as six_BytesIO" | |
], | |
"language": "python", | |
"metadata": {}, | |
"outputs": [], | |
"prompt_number": 1 | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": [ | |
"data_small = b'foo'*1000\n", | |
"data_large = b'foo'*1000000" | |
], | |
"language": "python", | |
"metadata": {}, | |
"outputs": [], | |
"prompt_number": 3 | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": [ | |
"%timeit -n 100000 BytesIO(data_small)\n", | |
"%timeit -n 100000 StringIO(data_small)\n", | |
"%timeit -n 100000 six_BytesIO(data_small)" | |
], | |
"language": "python", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"stream": "stdout", | |
"text": [ | |
"1000000 loops, best of 3: 401 ns per loop\n", | |
"1000000 loops, best of 3: 345 ns per loop" | |
] | |
}, | |
{ | |
"output_type": "stream", | |
"stream": "stdout", | |
"text": [ | |
"\n", | |
"1000000 loops, best of 3: 1.24 \u00b5s per loop" | |
] | |
}, | |
{ | |
"output_type": "stream", | |
"stream": "stdout", | |
"text": [ | |
"\n" | |
] | |
} | |
], | |
"prompt_number": 5 | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": [ | |
"%timeit -n 100000 BytesIO(data_large)\n", | |
"%timeit -n 100000 StringIO(data_large)\n", | |
"%timeit -n 100000 six_BytesIO(data_large)" | |
], | |
"language": "python", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"stream": "stdout", | |
"text": [ | |
"100000 loops, best of 3: 161 \u00b5s per loop\n", | |
"100000 loops, best of 3: 395 ns per loop" | |
] | |
}, | |
{ | |
"output_type": "stream", | |
"stream": "stdout", | |
"text": [ | |
"\n", | |
"100000 loops, best of 3: 1.28 \u00b5s per loop" | |
] | |
}, | |
{ | |
"output_type": "stream", | |
"stream": "stdout", | |
"text": [ | |
"\n" | |
] | |
} | |
], | |
"prompt_number": 8 | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": [ | |
"bio_small = BytesIO(data_small)\n", | |
"sio_small = StringIO(data_small)\n", | |
"six_small = six_BytesIO(data_small)\n", | |
"\n", | |
"bio_large = BytesIO(data_large)\n", | |
"sio_large = StringIO(data_large)\n", | |
"six_large = six_BytesIO(data_large)" | |
], | |
"language": "python", | |
"metadata": {}, | |
"outputs": [], | |
"prompt_number": 17 | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": [ | |
"bio_small.seek(0)\n", | |
"sio_small.seek(0)\n", | |
"six_small.seek(0)\n", | |
"\n", | |
"%timeit -n 1000 bio_small.read(1)\n", | |
"%timeit -n 1000 sio_small.read(1)\n", | |
"%timeit -n 1000 six_small.read(1)\n", | |
"\n", | |
"%timeit -n 100000 bio_large.read(1)\n", | |
"%timeit -n 100000 sio_large.read(1)\n", | |
"%timeit -n 100000 six_large.read(1)" | |
], | |
"language": "python", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"stream": "stdout", | |
"text": [ | |
"1000 loops, best of 3: 422 ns per loop\n", | |
"1000 loops, best of 3: 410 ns per loop\n", | |
"1000 loops, best of 3: 1.26 \u00b5s per loop\n", | |
"100000 loops, best of 3: 298 ns per loop" | |
] | |
}, | |
{ | |
"output_type": "stream", | |
"stream": "stdout", | |
"text": [ | |
"\n", | |
"100000 loops, best of 3: 192 ns per loop" | |
] | |
}, | |
{ | |
"output_type": "stream", | |
"stream": "stdout", | |
"text": [ | |
"\n", | |
"100000 loops, best of 3: 860 ns per loop" | |
] | |
}, | |
{ | |
"output_type": "stream", | |
"stream": "stdout", | |
"text": [ | |
"\n" | |
] | |
} | |
], | |
"prompt_number": 22 | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": [ | |
"bio_small.seek(0)\n", | |
"sio_small.seek(0)\n", | |
"six_small.seek(0)\n", | |
"\n", | |
"bio_large.seek(0)\n", | |
"sio_large.seek(0)\n", | |
"six_large.seek(0)\n", | |
"\n", | |
"%timeit -n 100 bio_small.read(10)\n", | |
"%timeit -n 100 sio_small.read(10)\n", | |
"%timeit -n 100 six_small.read(10)\n", | |
"\n", | |
"%timeit -n 100 bio_large.read(1000)\n", | |
"%timeit -n 100 sio_large.read(1000)\n", | |
"%timeit -n 100 six_large.read(1000)" | |
], | |
"language": "python", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"stream": "stdout", | |
"text": [ | |
"100 loops, best of 3: 279 ns per loop\n", | |
"100 loops, best of 3: 281 ns per loop\n", | |
"100 loops, best of 3: 1.15 \u00b5s per loop\n", | |
"100 loops, best of 3: 360 ns per loop\n", | |
"100 loops, best of 3: 360 ns per loop\n", | |
"100 loops, best of 3: 1.35 \u00b5s per loop\n" | |
] | |
} | |
], | |
"prompt_number": 24 | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": [], | |
"language": "python", | |
"metadata": {}, | |
"outputs": [] | |
} | |
], | |
"metadata": {} | |
} | |
] | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment