Created
August 5, 2014 17:40
-
-
Save taldcroft/77e9b7efe3c72567c906 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:81184cefd4920c569920476667e973515e35637d21ae1fc1f4e01d54056a0170" | |
| }, | |
| "nbformat": 3, | |
| "nbformat_minor": 0, | |
| "worksheets": [ | |
| { | |
| "cells": [ | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "import timeit\n", | |
| "from astropy.io import ascii\n", | |
| "import pandas\n", | |
| "import numpy as np\n", | |
| "from astropy.table import Table, Column\n", | |
| "from cStringIO import StringIO\n", | |
| "import matplotlib.pyplot as plt\n", | |
| "%matplotlib inline" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [], | |
| "prompt_number": 1 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "def make_table(size=10000, n_floats=10, n_ints=0, n_strs=0, float_format=None, str_val=None):\n", | |
| " if str_val is None:\n", | |
| " str_val = \"abcde12345\"\n", | |
| " cols = []\n", | |
| " for i in xrange(n_floats):\n", | |
| " dat = np.random.uniform(low=1, high=10, size=size)\n", | |
| " cols.append(Column(dat, name='f{}'.format(i)))\n", | |
| " for i in xrange(n_ints):\n", | |
| " dat = np.random.randint(low=-9999999, high=9999999, size=size)\n", | |
| " cols.append(Column(dat, name='i{}'.format(i)))\n", | |
| " for i in xrange(n_strs):\n", | |
| " dat = np.repeat(str_val, size)\n", | |
| " cols.append(Column(dat, name='s{}'.format(i)))\n", | |
| " t = Table(cols)\n", | |
| "\n", | |
| " if float_format is not None:\n", | |
| " for col in t.columns.values():\n", | |
| " if col.name.startswith('f'):\n", | |
| " col.format = float_format\n", | |
| "\n", | |
| " return t" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [], | |
| "prompt_number": 2 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "t = make_table(5, float_format='%.4f')\n", | |
| "print(t)" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| " f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 \n", | |
| "------ ------ ------ ------ ------ ------ ------ ------ ------ ------\n", | |
| "2.0347 8.8420 5.8184 9.0782 1.6756 9.3755 2.9107 4.6938 9.6925 2.5816\n", | |
| "9.7894 5.5194 4.8078 4.8872 8.3279 6.6595 9.9651 5.2911 4.9336 3.8950\n", | |
| "5.7909 1.7305 6.2900 3.4181 4.1108 2.6178 1.0715 9.9900 9.7435 1.8405\n", | |
| "7.5208 2.3584 7.3258 8.2877 7.9188 2.0828 2.3917 3.6490 1.2544 6.5640\n", | |
| "1.5852 9.5432 3.7204 5.7791 1.2184 7.4795 2.0030 6.0847 6.5658 2.5426\n" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 3 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "out = StringIO()\n", | |
| "ascii.write(t, out, use_fast_writer=True)\n", | |
| "print out.getvalue()" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| "f0 f1 f2 f3 f4 f5 f6 f7 f8 f9\n", | |
| "2.0347 8.8420 5.8184 9.0782 1.6756 9.3755 2.9107 4.6938 9.6925 2.5816\n", | |
| "9.7894 5.5194 4.8078 4.8872 8.3279 6.6595 9.9651 5.2911 4.9336 3.8950\n", | |
| "5.7909 1.7305 6.2900 3.4181 4.1108 2.6178 1.0715 9.9900 9.7435 1.8405\n", | |
| "7.5208 2.3584 7.3258 8.2877 7.9188 2.0828 2.3917 3.6490 1.2544 6.5640\n", | |
| "1.5852 9.5432 3.7204 5.7791 1.2184 7.4795 2.0030 6.0847 6.5658 2.5426\n", | |
| "\n" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 4 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "out = StringIO()\n", | |
| "pandas_table = pandas.DataFrame(np.array(t))\n", | |
| "pandas_table.to_csv(out, float_format='%.4f')\n", | |
| "print out.getvalue()" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| ",f0,f1,f2,f3,f4,f5,f6,f7,f8,f9\n", | |
| "0,2.0347,8.8420,5.8184,9.0782,1.6756,9.3755,2.9107,4.6938,9.6925,2.5816\n", | |
| "1,9.7894,5.5194,4.8078,4.8872,8.3279,6.6595,9.9651,5.2911,4.9336,3.8950\n", | |
| "2,5.7909,1.7305,6.2900,3.4181,4.1108,2.6178,1.0715,9.9900,9.7435,1.8405\n", | |
| "3,7.5208,2.3584,7.3258,8.2877,7.9188,2.0828,2.3917,3.6490,1.2544,6.5640\n", | |
| "4,1.5852,9.5432,3.7204,5.7791,1.2184,7.4795,2.0030,6.0847,6.5658,2.5426\n", | |
| "\n" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 5 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "def plot_case(n_floats=10, n_ints=0, n_strs=0, float_format=None, str_val=None):\n", | |
| " global table, np_table, pandas_table, flt_format\n", | |
| " flt_format = float_format\n", | |
| " n_rows = (100, 200, 500, 1000, 2000, 5000, 10000, 20000) # include 50000 for publish run\n", | |
| " numbers = (10, 10, 5, 2, 1, 1, 1, 1)\n", | |
| " repeats = (3, 3, 3, 3, 3, 3, 3, 2)\n", | |
| " times_slow = []\n", | |
| " times_fast = []\n", | |
| " times_pandas = []\n", | |
| " for n_row, number, repeat in zip(n_rows, numbers, repeats):\n", | |
| " table = make_table(n_row, n_floats, n_ints, n_strs, float_format)\n", | |
| " np_table = np.array(table)\n", | |
| " pandas_table = pandas.DataFrame(np_table)\n", | |
| " t = timeit.repeat(\"out = StringIO(); ascii.write(table, out, use_fast_writer=False)\", \n", | |
| " setup='from __main__ import ascii, table, StringIO', number=number, repeat=repeat)\n", | |
| " times_slow.append(min(t) / number)\n", | |
| " t = timeit.repeat(\"out = StringIO(); ascii.write(table, out, use_fast_writer=True)\", \n", | |
| " setup='from __main__ import ascii, table, StringIO', number=number, repeat=repeat)\n", | |
| " times_fast.append(min(t) / number)\n", | |
| " t = timeit.repeat(\"out = StringIO(); pandas_table.to_csv(out, float_format=flt_format)\", \n", | |
| " setup='from __main__ import pandas_table, pandas, StringIO, flt_format', number=number, repeat=repeat)\n", | |
| " times_pandas.append(min(t) / number)\n", | |
| " plt.loglog(n_rows, times_slow, '-ob', label='io.ascii Python')\n", | |
| " plt.loglog(n_rows, times_fast, '-or', label='io.ascii Fast-c')\n", | |
| " plt.loglog(n_rows, times_pandas, '-oc', label='Pandas')\n", | |
| " plt.grid()\n", | |
| " plt.legend(loc='best')\n", | |
| " plt.title('n_floats={} n_ints={} n_strs={} float_format={}'.format(n_floats, n_ints, n_strs, float_format))\n", | |
| " plt.xlabel('Number of rows')\n", | |
| " plt.ylabel('Time (sec)')\n", | |
| " print('Fast-C to Python speed ratio: {:.2f} : 1'.format(times_slow[-1] / times_fast[-1]))\n", | |
| " print('Pandas to Fast-C speed ratio: {:.2f} : 1'.format(times_fast[-1] / times_pandas[-1]))" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [], | |
| "prompt_number": 6 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "plot_case(n_floats=10, n_ints=0, n_strs=0, float_format=None)" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| "Fast-C to Python speed ratio: 2.43 : 1\n", | |
| "Pandas to Fast-C speed ratio: 1.04 : 1\n" | |
| ] | |
| }, | |
| { | |
| "metadata": {}, | |
| "output_type": "display_data", | |
| "png": "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\nxcsAAAAASUVORK5CYII=\n", | |
| "text": [ | |
| "<matplotlib.figure.Figure at 0x1059be7d0>" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 7 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "plot_case(n_floats=10, n_ints=10, n_strs=10, float_format=None)" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| "Fast-C to Python speed ratio: 5.08 : 1\n", | |
| "Pandas to Fast-C speed ratio: 1.29 : 1\n" | |
| ] | |
| }, | |
| { | |
| "metadata": {}, | |
| "output_type": "display_data", | |
| "png": "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\nAElFTkSuQmCC\n", | |
| "text": [ | |
| "<matplotlib.figure.Figure at 0x10a8f7f50>" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 8 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "plot_case(n_floats=10, n_ints=10, n_strs=10, float_format='%.4f')" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| "Fast-C to Python speed ratio: 2.64 : 1\n", | |
| "Pandas to Fast-C speed ratio: 3.27 : 1\n" | |
| ] | |
| }, | |
| { | |
| "metadata": {}, | |
| "output_type": "display_data", | |
| "png": "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\n5H242lT1LRBWYV4/4ABw2DS9AhgGzEMrlKHAF844eIENu//aM2fwsbe2gI0aEvl2yqCUYvjw4dSt\nW5emTZty22238fLLL9PAojrh5MmTGWRh+vLx8eH++++noymV6KhRo/jiC31JPvnkE26//XZuuOEG\nAJ577jkWLFhQuu3VV19d+n/79u35v//7PzZv3szEiROpV68eZ8+eZc+ePfTt25fOnTvbeRZCbSEr\nS9fAeOcduPde+OMPaNXKvm2TkpKcXgXQHurmW3/afG3MF5yPJ/g4QoBUi+k0oD+QBzzgzAM1sDEg\nLLppU7628wGI/uwz1lmZb2/hWB8fH1atWlVOMeTl5fHQQw+xdu1asrOzAV0kSSlV6uRuZfE0N2rU\niNzcXECXnm3btm3pssaNG5frNezfv5/HHnuMn3/+mby8PIqKiujTpw8AgwYNYsKECfzrX//iyJEj\njBgxgjlz5uDv72/n2QhG5fRpeO01WLAARo2C33/X5Vo9nu++o2hnRUu3pqrlmwXH8YSoqmrZ2saP\nH09cXBxxcXG8/vrrlWbsjB0+nPBl5d0l4QkJxAwbZvfxnLGPirzyyivs37+fbdu2cebMGTZv3lyu\nBGtltGnThtTUMr2bl5dXWocc4J///CfdunXjwIEDnDlzhlmzZlFSUlK6PCYmhu3bt7N7927279/P\n7Nmzq3wenkZSUlK5+0Gmk1izJonnn4crroAff0xiwYIk3npLKw1H92ee5xL5f/mFpP79SbrzTqLG\njWNKeDhJmOO6dPnm5gMHuv36eup0UlIS48ePL31fGpEwyjvHBwBfW0w/TZmD/FLYdPzYYvWGDSo6\nNlYNjI1V0bGxDjnGnbGPis5xpZR64okn1C233KLy8/NVVlaWGj58uPLx8VHFxcVKKV19b9GiRaXr\nL168WN1www1KKaV27dql/Pz81NatW1VBQYH697//rerWrVt6jH79+qlnn31WlZSUqD179qhOnTqV\nVv376aef1A8//KAKCwtVbm6uGjJkiIqLi3P4engild0D3khenlKvvKJUcLBSo0crtXevuyWykz/+\nUOrOO5Vq3VqpBQuUys9XSmkH+dToaDVj4EA1NTpaHOMOQjU/2N1BGOUVR10g2TS/PrAD7Ry3B8OV\njrWmODIyMlRkZKTy8/NTnTt3VgsXLlR16tQppzgsy7ZWLPn6/vvvl4uq6tChQ+kxtmzZorp06aL8\n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\n", | |
| "text": [ | |
| "<matplotlib.figure.Figure at 0x108ccf3d0>" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 9 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "plot_case(n_floats=10, n_ints=0, n_strs=0, float_format='%.4f')" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| "Fast-C to Python speed ratio: 0.66 : 1\n", | |
| "Pandas to Fast-C speed ratio: 3.85 : 1\n" | |
| ] | |
| }, | |
| { | |
| "metadata": {}, | |
| "output_type": "display_data", | |
| "png": "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\nIiIiItKR/AfdQ3A7hG5VkAAAAABJRU5ErkJggg==\n", | |
| "text": [ | |
| "<matplotlib.figure.Figure at 0x106967410>" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 10 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "plot_case(n_floats=0, n_ints=0, n_strs=10)" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| "Fast-C to Python speed ratio: 3.87 : 1\n", | |
| "Pandas to Fast-C speed ratio: 1.90 : 1\n" | |
| ] | |
| }, | |
| { | |
| "metadata": {}, | |
| "output_type": "display_data", | |
| "png": "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\nAAAASUVORK5CYII=\n", | |
| "text": [ | |
| "<matplotlib.figure.Figure at 0x1069673d0>" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 11 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "plot_case(n_floats=0, n_ints=0, n_strs=10, str_val=\"'asdf asdfa'\")" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| "Fast-C to Python speed ratio: 3.86 : 1\n", | |
| "Pandas to Fast-C speed ratio: 1.85 : 1\n" | |
| ] | |
| }, | |
| { | |
| "metadata": {}, | |
| "output_type": "display_data", | |
| "png": "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\nx5q59dZbVWBgoGrbtq2KiIhQO3furNiWnJysLrnkEuXr66u6dOmiXn31VXXmzBnVsmVL1aRJE+Xj\n46N8fX3V0aNHrR5zw4YNavDgwcrPz0917dpVJSUl1XZZq1DTPSDUnfJypVavVur//k+pli0lbWtj\ngAaaqoxOjRfFGlOjoqzmZ5oWHW3zBbdHHWFhYWr16tVKKaWmT5+uBg8erLKyslRWVpa6+uqr1fTp\n063ul5ycrPbv36+UUmrdunWqdevWauvWrUoppSZPnqz+8Y9/qNLSUlVaWqq+++47pZRSpaWl6vLL\nL1ePPPKIKigoUIWFher7779XStVdcbzzzjvnrF+wYIHKz89XxcXF6qGHHqrIK66UUoGBgRVynDp1\nSv3yyy9KKaVSU1NVcHBwrdcoLS1N+fr6qg8++ECVlpaqEydOqG3bttW6jyU13QOC7ZSXK5WcrNTg\nwUpdeKFSCxYo9fnn5/o4wsOfUitWuN5nJ9gOojisXxRrJAwdavWln2Bb8r9ayyYMHWpzo1kqjvDw\ncPX1119XbFu1apUKCwuzqZ7Y2Fg1e/ZspZRSTz/9tBo1apTau3dvlTIbN25UHTp0UGVlZefsXxfF\nMXToUNW6dWvl5+en/Pz81JVXXnlOmZycHOXl5aXy8vKUUkqFhISoefPmqdzc3Crl1q5de17F8dxz\nz6nRo0fXWqY2aroHhPNTVqbUp58q1bevUpdeqtTSpUqVllZuX7FinYqOnqauuOJuFR09TZSGAaGB\nisOjRliXtmhhdX1ZdLTNqqM0Ksp6HRY5KOqCEVPH5uTksGXLFsrLy5k8eTI9evSgbdu2dOvWDS8v\nL7KzswH49NNP+eqrrwgLCyMyMpJNmzbVWL+Pjw++vr60adOGw4cPk56eTvfu3Rsks1A3Skvh/fd1\naPPnntPzMbZvh9tvrzq0NiYmgpUrn2XbtiRWrnxWEip5IB6lOKLi45kaHl5l3ZTwcIbHxTm1DkuM\nnDp2yZIlfPnll6xevZrc3FwOHDiAUqpCpv79+/P555+TlZVFbGwsY8aMAawnhMrPz+f06dPk5eXR\ntWtXunbtyr59++wus3AuJSU6vHmvXvCf/8Arr8BPP+nZ3jJ5T7CGR90WETExRM+ezfToaBKHDmV6\ndDQjZs+u04goe9RhiTl1bHZ2NtnZ2XVOHWtmxYoV7N27F6VUjaljCwoKKCwsZOPGjfWS1awQzOTn\n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\nSZIkSboVR9fMW/NByUPjAAAAAElFTkSuQmCC\n", | |
| "text": [ | |
| "<matplotlib.figure.Figure at 0x106967410>" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 12 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "plot_case(n_floats=0, n_ints=10, n_strs=0)" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| "Fast-C to Python speed ratio: 17.78 : 1\n", | |
| "Pandas to Fast-C speed ratio: 1.18 : 1\n" | |
| ] | |
| }, | |
| { | |
| "metadata": {}, | |
| "output_type": "display_data", | |
| "png": "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\ngiAIjYX/Bzf0+bngM7MrAAAAAElFTkSuQmCC\n", | |
| "text": [ | |
| "<matplotlib.figure.Figure at 0x1076b4b50>" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 13 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [], | |
| "prompt_number": 13 | |
| } | |
| ], | |
| "metadata": {} | |
| } | |
| ] | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment