Skip to content

Instantly share code, notes, and snippets.

@greut
Created April 6, 2016 12:41
Show Gist options
  • Save greut/0ab7591109b0aa34d96753a18b2ce7de to your computer and use it in GitHub Desktop.
Save greut/0ab7591109b0aa34d96753a18b2ce7de to your computer and use it in GitHub Desktop.
Premature optimization is the root of all evil.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"10 loops, best of 3: 246 ms per loop\n"
]
}
],
"source": [
"%%timeit -n10 pass\n",
"\n",
"enfant_avec_jour = []\n",
"for enfant in 'GF':\n",
" for jour in 'lmMjvsd':\n",
" enfant_avec_jour.append((enfant, jour))\n",
"\n",
"des_enfants_avec_jour = set()\n",
"for e1 in enfant_avec_jour:\n",
" for e2 in enfant_avec_jour:\n",
" for e3 in enfant_avec_jour:\n",
" for e4 in enfant_avec_jour:\n",
" for e5 in enfant_avec_jour:\n",
" des_enfants_avec_jour.add((e1, e2, e3, e4, e5))\n",
"\n",
"assert 537824 == len(des_enfants_avec_jour)"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"10 loops, best of 3: 221 ms per loop\n"
]
}
],
"source": [
"%%timeit -n10 pass\n",
"\n",
"enfant_avec_jour = [(e, j) for e in 'GF' for j in 'lmMjvsd']\n",
"des_enfants_avec_jour = {(e1, e2, e3, e4, e5)\n",
" for e1 in enfant_avec_jour\n",
" for e2 in enfant_avec_jour\n",
" for e3 in enfant_avec_jour\n",
" for e4 in enfant_avec_jour\n",
" for e5 in enfant_avec_jour}\n",
"\n",
"assert 537824 == len(des_enfants_avec_jour)"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"10 loops, best of 3: 207 ms per loop\n"
]
}
],
"source": [
"%%timeit -n10 from itertools import product\n",
"\n",
"des_enfants_avec_jour = set(product('GF', 'lmMjvsd', repeat=5))\n",
"\n",
"assert 537824 == len(des_enfants_avec_jour)"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"10 loops, best of 3: 200 ms per loop\n"
]
}
],
"source": [
"%%timeit -n10 from itertools import product, tee\n",
"\n",
"des_enfants_avec_jour = set(product(*tee(product('GF', 'lmMjvsd'), 5)))\n",
"\n",
"assert 537824 == len(des_enfants_avec_jour)"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.5.1"
}
},
"nbformat": 4,
"nbformat_minor": 0
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment