Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save fomightez/4750870e54fafc6b439f496f1c3c2295 to your computer and use it in GitHub Desktop.
Save fomightez/4750870e54fafc6b439f496f1c3c2295 to your computer and use it in GitHub Desktop.
{
"cells": [
{
"cell_type": "markdown",
"id": "ff77a3c8-5351-46fa-9730-74d54ce54875",
"metadata": {},
"source": [
"## For SO https://stackoverflow.com/a/78454777/8508004\n",
"\n",
"Formatting time / timeout magic results\n",
"\n",
"Note that example post assumed time came out in milliseconds; however, that isn't necessarily the case, for example try `for x in range(10_000_000)` with example code. This implemantation only changes if in micro- or milliseconds per the original post."
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "ee521f55-2a63-4c9b-884f-f3c7ff36c52f",
"metadata": {},
"outputs": [],
"source": [
"%%capture original_output\n",
"%%timeit -o\n",
"for x in range(100):\n",
" x**2"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "9ffd7184-697f-42cb-a657-9894ef93f9f6",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0.00004400 s\n"
]
}
],
"source": [
"if original_output.stdout.split()[1] == 'us':\n",
" print(f'{(float(original_output.stdout.split()[0])/1000000.0):.8f} s')\n",
"elif original_output.stdout.split()[1] == 'ms':\n",
" print(f'{(float(original_output.stdout.split()[0])/1000.0):.3f} s')\n",
"else:\n",
" print(f'{original_output.stdout.split(\"+-\",1)[0].strip()}')"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "9efc63e1-f8bd-4cff-ab15-02783701f55b",
"metadata": {},
"outputs": [],
"source": [
"%%capture original_output\n",
"%%timeit -o\n",
"for x in range(1_000_000):\n",
" x**2"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "9e4ecdeb-4bb8-4bea-910d-8c7a158ad360",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0.510 s\n"
]
}
],
"source": [
"if original_output.stdout.split()[1] == 'us':\n",
" print(f'{(float(original_output.stdout.split()[0])/1000000.0):.8f} s')\n",
"elif original_output.stdout.split()[1] == 'ms':\n",
" print(f'{(float(original_output.stdout.split()[0])/1000.0):.3f} s')\n",
"else:\n",
" print(f'{original_output.stdout.split(\"+-\",1)[0].strip()}')"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "28f72dc1-2295-4685-89dc-9f08462dc371",
"metadata": {},
"outputs": [],
"source": [
"%%capture original_output\n",
"%%timeit -o\n",
"for x in range(10_000_000):\n",
" x**2"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "6aaca8c4-b7cb-493b-bed4-f2a74133e645",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"5.07 s\n"
]
}
],
"source": [
"if original_output.stdout.split()[1] == 'us':\n",
" print(f'{(float(original_output.stdout.split()[0])/1000000.0):.8f} s')\n",
"elif original_output.stdout.split()[1] == 'ms':\n",
" print(f'{(float(original_output.stdout.split()[0])/1000.0):.3f} s')\n",
"else:\n",
" print(f'{original_output.stdout.split(\"+-\",1)[0].strip()}')"
]
},
{
"cell_type": "markdown",
"id": "eab3dc00-468c-48af-bcba-cc0555293f58",
"metadata": {},
"source": [
"--------\n",
"\n",
"\n",
"--------\n",
"\n",
"#### Tests/development are below"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "ffed2910-80ff-4e59-829f-7fedd173e5e4",
"metadata": {},
"outputs": [],
"source": [
"%%capture original_output\n",
"%%timeit -o\n",
"for x in range(1_000_000):\n",
" x**2"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "5abd3ccd-a073-42b2-a621-95e211f36396",
"metadata": {},
"outputs": [],
"source": [
"def function():\n",
" for x in range(1_000_000):\n",
" x**2\n",
"\n",
"variable = %timeit -o function()\n",
"print(variable)\n",
"print(type(variable))\n",
"\n",
"print(f'{variable.average:.3} s')"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "b9502c96-1bd8-4d84-9f5b-ffa21c29fb64",
"metadata": {},
"outputs": [],
"source": [
"#print(f'{_.average:.3} s')\n",
"print(f'original output: {original_output}')"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "979de592-591c-47f9-8577-40b6d9ff82fa",
"metadata": {},
"outputs": [],
"source": [
"%%timeit -o\n",
"for x in range(10_000_000):\n",
" x**2"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "fe77a593-f1ac-41cc-abc6-368773a40af2",
"metadata": {},
"outputs": [],
"source": [
"%%timeit -o\n",
"for x in range(1_000_000):\n",
" x**2"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "03795d41-e4a6-4206-a655-886dde40c4f6",
"metadata": {},
"outputs": [],
"source": [
"type(_)"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "34ce0aee-e153-460a-8aac-00b0e847ef02",
"metadata": {},
"outputs": [],
"source": [
"_"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "87c2b9df-695e-465f-a0ab-4513fe1285ca",
"metadata": {},
"outputs": [],
"source": [
"print(f'{_.average} s')"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "5ef17cca-1135-4372-a792-c4ea19e305ad",
"metadata": {},
"outputs": [],
"source": [
"print(f'{_.average:.3} s')"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "a04e1c3c-17c7-43e9-8233-9dbdbbffbde0",
"metadata": {},
"outputs": [],
"source": [
"print(f'{_.average:.03f} s')"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "1f4199f9-eb3f-497c-a9ab-1ac5e52fb28c",
"metadata": {},
"outputs": [],
"source": [
"%%capture original_output\n",
"%%timeit -o\n",
"for x in range(1_000_000):\n",
" x**2"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "cee4ab8c-e1b4-4171-ba40-f1ee7362bbeb",
"metadata": {},
"outputs": [],
"source": [
"original_output.stdout"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "4e869717-5a4f-4f97-a8c8-d3e7118e0606",
"metadata": {},
"outputs": [],
"source": [
"%%capture out_stream\n",
"%%time\n",
"for x in range(1_000_000):\n",
" x**2"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "2a094aeb-cf16-448e-9f05-62b7057c3c22",
"metadata": {},
"outputs": [],
"source": [
"out_stream.stdout"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "09b936eb-4fc7-4077-ba21-f0b2d918938c",
"metadata": {},
"outputs": [],
"source": [
"for x in out_stream.stdout.split(\"\\n\")[-3:]:\n",
" print(x)"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "25553a42-aa0c-4ebb-a655-274aaec7c116",
"metadata": {},
"outputs": [],
"source": [
"out_stream.stdout.split(\"\\n\")[-3:]"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "8f56c19e-8c0d-4bfa-9ba4-4508288cde1a",
"metadata": {},
"outputs": [],
"source": [
"%%capture original_output\n",
"%%timeit -o\n",
"for x in range(1_000_000):\n",
" x**2"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "a58fa113-7524-4b1c-97b4-6909da7a1964",
"metadata": {},
"outputs": [],
"source": [
"%%capture original_output\n",
"%%timeit -o\n",
"for x in range(10):\n",
" x**2"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "c269b410-4b0a-4c66-91c8-3ed134b5eb17",
"metadata": {},
"outputs": [],
"source": [
"original_output.stdout"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "862fc95b-96d3-4bb2-b0ac-bbb74a06b856",
"metadata": {},
"outputs": [],
"source": [
"if original_output.stdout.split()[1] == 'us':\n",
" print(f'{(float(original_output.stdout.split()[0])/1000000.0):.8f} s')\n",
"elif original_output.stdout.split()[1] == 'ms':\n",
" print(f'{(float(original_output.stdout.split()[0])/1000.0):.3f} s')\n",
"else:\n",
" print(f'{original_output.stdout.split(\"+-\",1)[0].strip()}')"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "91ec2f39-72a0-4776-aed9-a120272a98ad",
"metadata": {},
"outputs": [],
"source": [
"original_output.stdout"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "cc5a4f36-a84f-49a5-a891-555a44b762a6",
"metadata": {},
"outputs": [],
"source": [
"f'{int(original_output.stdout.split()[0])}'"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "a441520f-6cd5-4312-971d-96f802be3063",
"metadata": {},
"outputs": [],
"source": [
"original_output.stdout"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "89949e0c-85e3-42a0-b62d-052ed2e510d9",
"metadata": {},
"outputs": [],
"source": [
"original_output.stdout[1] == 'us'"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "09dfdc5b-018b-47df-98c1-410997d1f66c",
"metadata": {},
"outputs": [],
"source": [
"original_output.stdout.split()"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "d4284205-cc46-4009-a181-ed2351dfb76b",
"metadata": {},
"outputs": [],
"source": [
"original_output.stdout.split(\"+-\",1)[0].strip()"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "cb9d0591-b383-4d77-a5db-f4c7df629300",
"metadata": {},
"outputs": [],
"source": [
"%%capture original_output\n",
"%%timeit -o\n",
"for x in range(10):\n",
" x**2"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "ab275dc2-467f-48b8-bf15-b5f6d5d92468",
"metadata": {},
"outputs": [],
"source": [
"original_output.stdout.split(\"+-\",1)[0].strip()"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "f717aae4-8057-4a60-abfc-2bf6e5c780e5",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"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.10.6"
}
},
"nbformat": 4,
"nbformat_minor": 5
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment