Skip to content

Instantly share code, notes, and snippets.

@saimn
Last active February 24, 2016 22:34
Show Gist options
  • Save saimn/f143251187f7e95fe57f to your computer and use it in GitHub Desktop.
Save saimn/f143251187f7e95fe57f to your computer and use it in GitHub Desktop.
Astropy fast reader - write benchmark
Display the source blob
Display the rendered blob
Raw
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Speed comparison for writing between io.ascii and Pandas"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"This notebook compares the relative performance of the following writers for various kinds of table data:\n",
"* io.ascii.write using the legacy pure-Python writer\n",
"* io.ascii.write using the fast Cython-based writer\n",
"* pandas.to_csv"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"##Summary##\n",
"* The io.ascii fast writer is generally about 2-4 times faster than the legacy converter, although less for low-precision floats and much more for integers.\n",
"* Setting `strip_whitespace=False` can improve writing time for string values."
]
},
{
"cell_type": "raw",
"metadata": {},
"source": [
"Import modules"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/home/simon/miniconda2/lib/python2.7/site-packages/matplotlib/__init__.py:872: UserWarning: axes.color_cycle is deprecated and replaced with axes.prop_cycle; please use the latter.\n",
" warnings.warn(self.msg_depr % (key, alt_key))\n"
]
}
],
"source": [
"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"
]
},
{
"cell_type": "raw",
"metadata": {},
"source": [
"Create a table with custom random values"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"def make_table(size, n_floats, n_ints, n_strs, float_format, str_val):\n",
" cols = []\n",
" for i in xrange(n_floats):\n",
" dat = np.random.uniform(low=1, high=10, size=size) # random float values from 1 to 10\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) # random integers\n",
" cols.append(Column(dat, name='i{}'.format(i)))\n",
" for i in xrange(n_strs):\n",
" dat = np.repeat(str_val, size) # repeat str_val\n",
" cols.append(Column(dat, name='s{}'.format(i)))\n",
" t = Table(cols)\n",
"\n",
" if float_format is not None:\n",
" # Set format for float columns\n",
" for col in t.columns.values():\n",
" if col.name.startswith('f'):\n",
" col.format = float_format\n",
"\n",
" return t"
]
},
{
"cell_type": "raw",
"metadata": {},
"source": [
"Test each writer and plot the results"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"def plot_case(n_floats=10, n_ints=0, n_strs=0, float_format=None, str_val=\"abcde12345\", strip=True):\n",
" global table, np_table, pandas_table, flt_format, strip_whitespace\n",
" strip_whitespace=strip\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",
" # store times for each writer in lists\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, str_val)\n",
" np_table = np.array(table)\n",
" pandas_table = pandas.DataFrame(np_table)\n",
" # slow writer\n",
" t = timeit.repeat(\"out = StringIO(); ascii.write(table, out, fast_writer=False, strip_whitespace=strip_whitespace)\", \n",
" setup='from __main__ import ascii, table, StringIO, strip_whitespace', number=number, repeat=repeat)\n",
" times_slow.append(min(t) / number)\n",
" # fast writer\n",
" t = timeit.repeat(\"out = StringIO(); ascii.write(table, out, fast_writer=True, strip_whitespace=strip_whitespace)\", \n",
" setup='from __main__ import ascii, table, StringIO, strip_whitespace', number=number, repeat=repeat)\n",
" times_fast.append(min(t) / number)\n",
" # Pandas\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",
" # plot points\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]))"
]
},
{
"cell_type": "raw",
"metadata": {},
"source": [
"Floating-point values"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Fast-C to Python speed ratio: 2.10 : 1\n",
"Pandas to Fast-C speed ratio: 2.26 : 1\n"
]
},
{
"data": {
"image/png": "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\nqPJfVqYlBHuc7wAAAAAASUVORK5CYII=\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f089454ac10>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plot_case(n_floats=10, n_ints=0, n_strs=0, float_format=None)"
]
},
{
"cell_type": "raw",
"metadata": {},
"source": [
"Mixture of data types"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Fast-C to Python speed ratio: 4.80 : 1\n",
"Pandas to Fast-C speed ratio: 1.95 : 1\n"
]
},
{
"data": {
"image/png": "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\nAAAAAElFTkSuQmCC\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f08940735d0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plot_case(n_floats=10, n_ints=10, n_strs=10, float_format=None)"
]
},
{
"cell_type": "raw",
"metadata": {},
"source": [
"Mixture of data types with low-precision floating-point values"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Fast-C to Python speed ratio: 5.47 : 1\n",
"Pandas to Fast-C speed ratio: 1.61 : 1\n"
]
},
{
"data": {
"image/png": "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\nQmCC\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f0893a60290>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plot_case(n_floats=10, n_ints=10, n_strs=10, float_format='%.4f')"
]
},
{
"cell_type": "raw",
"metadata": {},
"source": [
"Low-precision floating-point values"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Fast-C to Python speed ratio: 1.65 : 1\n",
"Pandas to Fast-C speed ratio: 1.87 : 1\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f0893bdacd0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plot_case(n_floats=10, n_ints=0, n_strs=0, float_format='%.4f')"
]
},
{
"cell_type": "raw",
"metadata": {},
"source": [
"String values"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Fast-C to Python speed ratio: 3.70 : 1\n",
"Pandas to Fast-C speed ratio: 1.23 : 1\n"
]
},
{
"data": {
"image/png": "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\niKjyPu17TlWj7e/cAAAAAElFTkSuQmCC\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f0893ff11d0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plot_case(n_floats=0, n_ints=0, n_strs=10)"
]
},
{
"cell_type": "raw",
"metadata": {},
"source": [
"Quoted string values"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Fast-C to Python speed ratio: 3.73 : 1\n",
"Pandas to Fast-C speed ratio: 1.83 : 1\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f0893f39cd0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plot_case(n_floats=0, n_ints=0, n_strs=10, str_val=\"'asdf asdfa'\")"
]
},
{
"cell_type": "raw",
"metadata": {},
"source": [
"String values without whitespace stripping"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Fast-C to Python speed ratio: 4.62 : 1\n",
"Pandas to Fast-C speed ratio: 1.32 : 1\n"
]
},
{
"data": {
"image/png": "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\nUTavvfYa69at45133nFZsBBC1Bwe04chym7SpEkcOHCAW265xdVZETWM9GF4JgkYQgghnCIBQwhR\nZjIPwzNJwBBCCOEUCRhCiDKTPgzPJAFDCCGEUyRgCCHKTPowPJNHBYwzcXHMGD+eGXfdxYzx4zkT\nF1etadT0DZT69OlD3759mTt3bplfZ8uWLZw+fbrC+RVC1FweM9P7TFwci4YP59WTJ21bH8HkiAjG\nxcYSFh7u1OtVRho1UdOmTUlMTKzQ8hwPPfQQY8eOpU+fPpWYM5PM9K559u7d69JaRlzcGaKjVxIf\nb65EHRU1qkxrunm68s709pgaxsro6MILPZgLlL968iQri9m4qCrScIcNlArk5+czefJkbrvtNrp1\n68a0adMKb3/sscf405/+xG233cbhw4eZPn0627ZtY8KECYwZM8Zh+h9//DE9e/akd+/eTJ8+3an3\nSwhHCna+XL06ir17X2P16iiGD19Uri2XRdl4ztIg8fEOtj4C39WrabR6tVNJON4+Ccqyg5KjDZQC\nAgL461//yrJly67aD6NgA6X69evzzDPPsHjxYv7xj38UbqDUr18/zp49C1y5gVJqaiq+vr4cPny4\nTBsoFfD29mbYsGG8+uqrXLp0ic6dOzN27FguXLjAnj17+Omnn0hJScHX15euXbuyd+9eJk6c6HAL\n2P379zN37lw2b95Mo0aN+P33351+v0TN5MraRfE7X0ZXeHFRUTLPCRghIQ62TwLLyJFcXLDAqSQs\n48eTuXr1VWmUZwelmriBEpgBZceOHXh5eREREcHChQv57rvv8PX15fTp0/zxj3+kffv2PP744/z9\n73/nuuuuuyq9zZs3M23aNJRSvPjii3z99dfcf//9NGrUCECal0S5GAZ8+aUPW7Z4U9GdL0X5eEyT\n1KioKCZHRNhtfWT2P4yKiqrWNOzVtA2Udu3axc6dO/Hy8uLs2bMMHTqUkJAQpk2bRtu2bbFarQQE\nBLB27VpGjx7No48+ygcffHBVerfffnthWoMHDy53vkTNVZ3zMAwDtmzx5bbbgpg0qQ7mb5TMIo8q\n386Xomw8JmCEhYczLjaW6JEjmdSzJ9EjR5a5s7oy0nCXDZQOHTpE48aNufPOO0lLSyts9oqPj+fY\nsWP06tWLyMhIdu/eDZibKp0547gNecCAAaxYsYKUlBQAjh075lS+hGezWmHDBl/69QsiOjqAp5/O\n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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f0893bdaad0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plot_case(n_floats=0, n_ints=0, n_strs=10, strip=False)"
]
},
{
"cell_type": "raw",
"metadata": {},
"source": [
"Integer values"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Fast-C to Python speed ratio: 9.87 : 1\n",
"Pandas to Fast-C speed ratio: 1.07 : 1\n"
]
},
{
"data": {
"image/png": "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\n+Mc/2Lt3L9u3b+fOO+8E4Msvv+Sxxx5zeJyCK/4bNGhAx44dOXz4MH369GHXrl2Fj+nduze7d+/m\nhRdeYN26dfTq1YtffzVThCckJDB48GDat2/P2LFjC5/z9ddf06NHD7p3784LL7xATk4OYLZK3njj\nDR5++GHat2/P66+/7tR7KCqHuLg4lx5vzRp/unWrxZ49vixefB+RkWMwgwZABpGRY4iOHuTSMnkj\nrwkYZnP10mZsbKw/ISF1nfoXG+vvcB+laQorZV6Nv23bNubMmcOaNWvYvHkzP/74I1988cUlj4+M\njGTBggVs3bqVyMhI5s6dC8D777/PpEmT2LJlC4MGmV+UMWPGEBISwo4dO1i6dClt2rS56JhFbzty\n4MAB9u7dy7XXXktUVFRhiyg+Ph6lFJ07d+bll1/mtttuY/PmzbRr1w4wu6mmT5/O+vXrmT59Ounp\n6fzxxx+MGTOG2NhY4uLisFgsvPfee4XH2r17N5988gnr169n2rRppKenO/9GCq/wxx8+DBxYg1de\nCebddzOZPz+Dbt0as2TJMAYMiKF799EMGBAjA94u4jVdUmZz9dJm7IABecyYUWzKjYtEReURG1s+\nTeH169dz//33U6NGDQAGDx5MbGwsDz10cVrhli1bsn79ejZu3Mj+/fsLWwKDBw/mrbfe4ty5c/Tr\n1w8wWyPbt28HcPoqajBbFzfffDNWq5WQkBCmTZtG48aNCQsL4+233yY9PZ2lS5eiaVqx++jatSvV\nq1enevXqNGjQgLNnz7Jlyxb69OlDWFgYAMOHD+e5557j5ZdfLvY5Be+HqNwqegwjLQ3eey+YefMC\neOaZbObNyyEg4MLfIyKaMGPGixVaBnEpr2lhREcPuuJmbHnsw97lfu0DPProo+zcuZMRI0YwePDg\nwiVPRowYwfz584mLi+O2227DMIwyL4dSMIaxbds2li9fTq9evQAICAjgvvvuY9myZaxevZr+/fs7\ntT9/f39Ku6iln59fqZ8jqh7DgEWLArjxxtqcOqWIi0vlqacuDhbCfbwmYERENLniZmx57KPgpHjb\nbbexaNEi0tPTycvLY968efTp0weAsWPHsmPHDgDWrl3L0KFDiYyMZO/evYX72bJlCw0bNuS1115j\n//79pKWlccsttzB9+nQA0tLSOH78uNNlKu5kPWTIEGbMmEFoaCihoaEANG7cuMR9F+yrV69erF27\n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\nQmCC\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f0893f68610>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plot_case(n_floats=0, n_ints=10, n_strs=0)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Test auto_format_func"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"from astropy.table.pprint import _auto_format_func\n",
"#from astropy.io.ascii.cparser import auto_format_func"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"val = 1.11\n",
"format_ = '%0.2f'"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"CPU times: user 0 ns, sys: 0 ns, total: 0 ns\n",
"Wall time: 26.9 µs\n"
]
},
{
"data": {
"text/plain": [
"'1.11'"
]
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"%time _auto_format_func(format_, val)"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The slowest run took 17.50 times longer than the fastest. This could mean that an intermediate result is being cached.\n",
"1000000 loops, best of 3: 572 ns per loop\n"
]
}
],
"source": [
"%timeit _auto_format_func(format_, val)"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 2",
"language": "python2",
"name": "python2"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.11"
}
},
"nbformat": 4,
"nbformat_minor": 0
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment