mirror of
https://github.com/rasbt/python_reference.git
synced 2024-12-18 00:00:19 +00:00
306 lines
59 KiB
Plaintext
306 lines
59 KiB
Plaintext
{
|
|
"metadata": {
|
|
"name": "",
|
|
"signature": "sha256:ab859015961b19530bb3c16fe1edf4e7f9baca715bdf8187c724e8c0c4cfc8ad"
|
|
},
|
|
"nbformat": 3,
|
|
"nbformat_minor": 0,
|
|
"worksheets": [
|
|
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"[Sebastian Raschka](http://sebastianraschka.com) \n",
|
|
"last updated: 05/06/2014\n",
|
|
"\n",
|
|
"- [Link to this IPython Notebook on GitHub](https://github.com/rasbt/python_reference/blob/master/benchmarks/palindrome_timeit.ipynb) \n",
|
|
"- [Link to the GitHub repository](https://github.com/rasbt/python_reference) \n",
|
|
"\n",
|
|
"<br>\n",
|
|
"<br>"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"#Timing different Implementations of palindrome functions"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"collapsed": false,
|
|
"input": [
|
|
"import re\n",
|
|
"import timeit\n",
|
|
"import string\n",
|
|
"\n",
|
|
"# All functions return True if an input string is a palindrome. Else returns False.\n",
|
|
"\n",
|
|
"#############################################################\n",
|
|
"#### case-insensitive ignoring punctuation characters\n",
|
|
"############################################################\n",
|
|
"\n",
|
|
"def palindrome_short(my_str):\n",
|
|
" stripped_str = \"\".join(l.lower() for l in my_str if l.isalpha())\n",
|
|
" return stripped_str == stripped_str[::-1]\n",
|
|
"\n",
|
|
"def palindrome_regex(my_str):\n",
|
|
" return re.sub('\\W', '', my_str.lower()) == re.sub('\\W', '', my_str[::-1].lower())\n",
|
|
"\n",
|
|
"def palindrome_stringlib(my_str):\n",
|
|
" LOWERS = set(string.ascii_lowercase)\n",
|
|
" letters = [c for c in my_str.lower() if c in LOWERS]\n",
|
|
" return letters == letters[::-1]\n",
|
|
"\n",
|
|
"LOWERS = set(string.ascii_lowercase)\n",
|
|
"def palindrome_stringlib2(my_str):\n",
|
|
" letters = [c for c in my_str.lower() if c in LOWERS]\n",
|
|
" return letters == letters[::-1]\n",
|
|
"\n",
|
|
"def palindrome_isalpha(my_str):\n",
|
|
" stripped_str = [l for l in my_str.lower() if l.isalpha()]\n",
|
|
" return stripped_str == stripped_str[::-1]\n",
|
|
"\n",
|
|
"\n",
|
|
"\n",
|
|
"############################################################\n",
|
|
"#### functions considering all characters (case-sensitive)\n",
|
|
"############################################################\n",
|
|
"\n",
|
|
"def palindrome_reverse1(my_str):\n",
|
|
" return my_str == my_str[::-1]\n",
|
|
"\n",
|
|
"def palindrome_reverse2(my_str):\n",
|
|
" return my_str == ''.join(reversed(my_str))\n",
|
|
"\n",
|
|
"def palindrome_recurs(my_str):\n",
|
|
" if len(my_str) < 2:\n",
|
|
" return True\n",
|
|
" if my_str[0] != my_str[-1]:\n",
|
|
" return False\n",
|
|
" return palindrome(my_str[1:-1])"
|
|
],
|
|
"language": "python",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"prompt_number": 1
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"collapsed": false,
|
|
"input": [
|
|
"test_str = \"Go hang a salami. I'm a lasagna hog.\"\n",
|
|
"\n",
|
|
"print('case-insensitive functions ignoring punctuation characters')\n",
|
|
"%timeit palindrome_short(test_str)\n",
|
|
"%timeit palindrome_regex(test_str)\n",
|
|
"%timeit palindrome_stringlib(test_str)\n",
|
|
"%timeit palindrome_stringlib2(test_str)\n",
|
|
"%timeit palindrome_isalpha(test_str)\n",
|
|
"\n",
|
|
"print('\\n\\nfunctions considering all characters (case-sensitive)')\n",
|
|
"%timeit palindrome_reverse1(test_str)\n",
|
|
"%timeit palindrome_reverse2(test_str)\n",
|
|
"%timeit palindrome_recurs(test_str)\n"
|
|
],
|
|
"language": "python",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"output_type": "stream",
|
|
"stream": "stdout",
|
|
"text": [
|
|
"case-insensitive functions ignoring punctuation characters\n",
|
|
"10000 loops, best of 3: 15.5 \u00b5s per loop"
|
|
]
|
|
},
|
|
{
|
|
"output_type": "stream",
|
|
"stream": "stdout",
|
|
"text": [
|
|
"\n",
|
|
"10000 loops, best of 3: 19.5 \u00b5s per loop"
|
|
]
|
|
},
|
|
{
|
|
"output_type": "stream",
|
|
"stream": "stdout",
|
|
"text": [
|
|
"\n",
|
|
"100000 loops, best of 3: 11.7 \u00b5s per loop"
|
|
]
|
|
},
|
|
{
|
|
"output_type": "stream",
|
|
"stream": "stdout",
|
|
"text": [
|
|
"\n",
|
|
"100000 loops, best of 3: 8.24 \u00b5s per loop"
|
|
]
|
|
},
|
|
{
|
|
"output_type": "stream",
|
|
"stream": "stdout",
|
|
"text": [
|
|
"\n",
|
|
"100000 loops, best of 3: 9.38 \u00b5s per loop"
|
|
]
|
|
},
|
|
{
|
|
"output_type": "stream",
|
|
"stream": "stdout",
|
|
"text": [
|
|
"\n",
|
|
"\n",
|
|
"\n",
|
|
"functions considering all characters (case-sensitive)\n",
|
|
"1000000 loops, best of 3: 507 ns per loop"
|
|
]
|
|
},
|
|
{
|
|
"output_type": "stream",
|
|
"stream": "stdout",
|
|
"text": [
|
|
"\n",
|
|
"100000 loops, best of 3: 3.08 \u00b5s per loop"
|
|
]
|
|
},
|
|
{
|
|
"output_type": "stream",
|
|
"stream": "stdout",
|
|
"text": [
|
|
"\n",
|
|
"1000000 loops, best of 3: 581 ns per loop"
|
|
]
|
|
},
|
|
{
|
|
"output_type": "stream",
|
|
"stream": "stdout",
|
|
"text": [
|
|
"\n"
|
|
]
|
|
}
|
|
],
|
|
"prompt_number": 2
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"collapsed": false,
|
|
"input": [
|
|
"import timeit\n",
|
|
"\n",
|
|
"funcs_s = ['palindrome_short', 'palindrome_regex', 'palindrome_stringlib', \n",
|
|
" 'palindrome_stringlib2', 'palindrome_isalpha'] \n",
|
|
"\n",
|
|
"funcs_ins = ['palindrome_reverse1', 'palindrome_reverse2', 'palindrome_recurs']\n",
|
|
"\n",
|
|
"times_s, times_ins = [], []\n",
|
|
"\n",
|
|
"for f in funcs_s:\n",
|
|
" times_s.append(min(timeit.Timer('%s(test_str)' %f, \n",
|
|
" 'from __main__ import %s, test_str' %f)\n",
|
|
" .repeat(repeat=3, number=1000)))\n",
|
|
" \n",
|
|
"for f in funcs_ins:\n",
|
|
" times_ins.append(min(timeit.Timer('%s(test_str)' %f, \n",
|
|
" 'from __main__ import %s, test_str' %f)\n",
|
|
" .repeat(repeat=3, number=1000)))"
|
|
],
|
|
"language": "python",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"prompt_number": 13
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"collapsed": false,
|
|
"input": [
|
|
"%pylab inline"
|
|
],
|
|
"language": "python",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"prompt_number": 8
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"collapsed": false,
|
|
"input": [
|
|
"import matplotlib.pyplot as plt\n",
|
|
"\n",
|
|
"labels = [('cy_lstsqr', 'Cython implementation'), \n",
|
|
" ('lin_lstsqr_mat', 'numpy matrix equation'),\n",
|
|
" ('numpy_lstsqr', 'numpy.linalg.lstsq()'), \n",
|
|
" ('scipy_lstsqr', 'scipy.stats.linregress()')] \n",
|
|
"\n",
|
|
"matplotlib.rcParams.update({'font.size': 12})\n",
|
|
"\n",
|
|
"fig = plt.figure(figsize=(10,8))\n",
|
|
"for f in funcs_s:\n",
|
|
" plt.plot(orders_n, times_n[lb[0]], alpha=0.5, label=lb[1], marker='o', lw=3)\n",
|
|
"plt.xlabel('sample size n')\n",
|
|
"plt.ylabel('time per computation in milliseconds [ms]')\n",
|
|
"plt.xlim([1,max(orders_n) + max(orders_n) * 10])\n",
|
|
"plt.legend(loc=2)\n",
|
|
"plt.grid()\n",
|
|
"plt.xscale('log')\n",
|
|
"plt.yscale('log')\n",
|
|
"plt.title('Performance of least square fit implementations for different sample sizes')\n",
|
|
"plt.show()"
|
|
],
|
|
"language": "python",
|
|
"metadata": {},
|
|
"outputs": []
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"collapsed": false,
|
|
"input": [
|
|
"import matplotlib.pyplot as plt\n",
|
|
"\n",
|
|
"x_pos = np.arange(len(times_s))\n",
|
|
"plt.bar(x_pos, times_s, align='center', alpha=0.5, color=\"green\")\n",
|
|
"plt.xticks(x_pos, funcs_s, rotation=90)\n",
|
|
"plt.ylabel('time per computation in ms')\n",
|
|
"plt.title('Performance of different case-sensitive palindrome functions')\n",
|
|
"plt.grid()\n",
|
|
"plt.show()\n",
|
|
"\n",
|
|
"x_pos = np.arange(len(times_ins))\n",
|
|
"plt.bar(x_pos, times_ins, align='center', alpha=0.5, color=\"blue\")\n",
|
|
"plt.xticks(x_pos, funcs_ins, rotation=90)\n",
|
|
"plt.ylabel('time per computation in ms')\n",
|
|
"plt.title('Performance of different case-insensitive palindrome functions')\n",
|
|
"plt.grid()\n",
|
|
"plt.show()"
|
|
],
|
|
"language": "python",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"metadata": {},
|
|
"output_type": "display_data",
|
|
"png": "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\nxYsXmZGRkdrY1ImKimIxMTHVXl9Z5edt7ty5bMiQISwjI0NlH03xPuvbb79lL7/8cpXnOC8vjzVr\n1kzlnfDWrVtZ3759GWPlj7O7u7tw3ePHj5lMJmO3b99mhYWFzNLSkv3000/C2FmFuhQbxhjr3bs3\n27x5M2Os/CzBzc2tVvE9a968eczPz0/YLisrY/b29uz3339Xu7+Pjw/bvXu3xpgjIyPZxIkTheuS\nkpJY+/btGWOMbdq0SeU+GWPM0dFRpXhUfq4UCgVr2rQpu3z5snDZunXrWGBgoLB/27ZthesuXLjA\nZDIZu3PnjnCZlZUV+/PPP1lZWRkzMTFReWyPHz+u8ia0smcf99oUm+r+7o8fP85sbGzUnmWqG7Op\nXGzGjRvHZs+eLVxXWFjIDAwMWFZWFmOs/LGvXESGDx/Oli5dyhhjbMyYMSwqKoplZ2erzfFZDXrM\nZvfu3Xj48CHkcjni4+NhaGiIrKws7NixA82bNxd+jh07hry8POG2lWdOqXPr1i04OzsL205OTrh1\n65awbWNjg6ZNm6rcpmXLlsLvRkZGsLa2hkwmE7YBoLCwEACwf/9+9OzZE1ZWVmjevDmSkpJw//59\n4fZWVlYq4yXGxsYoLCzEvXv3UFxcDDc3tyox1ybvyvk9+xg4OzsjJyenxseluts7OTnV6nbqZGVl\n4eTJkypxb926Fbdv3wZQ/jw7Ojqq7H/r1i2V/RcvXow7d+4I+9ja2gq/Gxsbo7i4uNZjPdnZ2Wof\nX6Dm5+3dd9+Fu7s7BgwYADc3NyxdurRW8ZqamsLMzAzm5ubIzs7G6NGjMXDgQISFhaFVq1aYPXs2\nFAoFsrKy8PTpU9jb2wvHmTRpEu7evSvEZ2dnp5I3UP43Z2Jigm3btuGrr76Cg4MDBg8ejKtXr9bq\n8XjWyJEjkZiYCADYunUrRo0aJeSpKb5nVX5eK57n3NxcAMDmzZvRuXNn4Vh///23yv9ITSo//0ZG\nRsL/3a1bt1TuE6j6WlB5+969e3j69GmV14LK/yfP3hdQ/vrw7P3fvXsXRUVF8PX1FXIKCgrCvXv3\napVTbVT3d3/z5k04Ozs/1xhsbm6uSv4mJiawsrJSeQye/bsrKCgAACxbtgyMMXTv3h0vvfQSEhIS\naryvJnWOTsecnJwwevRorF+/vtp9KopAdRwcHCCXy4VB7Bs3bqhMP3z29pqOV1lJSQmGDh2K77//\n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\nDzH9gT2pJYOrAAAAAElFTkSuQmCC\n",
|
|
"text": [
|
|
"<matplotlib.figure.Figure at 0x105618160>"
|
|
]
|
|
},
|
|
{
|
|
"metadata": {},
|
|
"output_type": "display_data",
|
|
"png": "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\n8/8AVRvie0rr9RMAAAAASUVORK5CYII=\n",
|
|
"text": [
|
|
"<matplotlib.figure.Figure at 0x1056baba8>"
|
|
]
|
|
}
|
|
],
|
|
"prompt_number": 29
|
|
}
|
|
],
|
|
"metadata": {}
|
|
}
|
|
]
|
|
} |