Improve parallel map
This commit is contained in:
parent
3a8d357e3c
commit
3e393bf362
3 changed files with 30 additions and 19 deletions
|
|
@ -4,7 +4,16 @@
|
|||
"cell_type": "code",
|
||||
"execution_count": 1,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stderr",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"/data/projects/great_ai/.env/lib/python3.10/site-packages/tqdm/auto.py:22: TqdmWarning: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html\n",
|
||||
" from .autonotebook import tqdm as notebook_tqdm\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"from great_ai.utilities import parallel_map"
|
||||
]
|
||||
|
|
@ -18,17 +27,19 @@
|
|||
"name": "stderr",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"\u001b[38;5;39m2022-06-28 18:10:31,043 | INFO | Parallel map: configured ✅\u001b[0m\n",
|
||||
"\u001b[38;5;39m2022-06-28 18:10:31,044 | INFO | ⚙️ concurrency: 12\u001b[0m\n",
|
||||
"\u001b[38;5;39m2022-06-28 18:10:31,045 | INFO | ⚙️ chunk length: 8334\u001b[0m\n",
|
||||
"\u001b[38;5;39m2022-06-28 18:10:31,045 | INFO | ⚙️ chunk count: 120\u001b[0m\n",
|
||||
"\u001b[38;5;39m2022-06-28 18:10:31,046 | INFO | ⚙️ function size: 0 kB\u001b[0m\n",
|
||||
"Parallel map: 100%|██████████| 1000000/1000000 [00:05<00:00, 181294.86it/s]\n"
|
||||
"\u001b[38;5;39m2022-06-29 09:11:18,070 | INFO | Parallel map: configured ✅\u001b[0m\n",
|
||||
"\u001b[38;5;39m2022-06-29 09:11:18,071 | INFO | ⚙️ concurrency: 200\u001b[0m\n",
|
||||
"\u001b[38;5;39m2022-06-29 09:11:18,071 | INFO | ⚙️ chunk length: 1\u001b[0m\n",
|
||||
"\u001b[38;5;39m2022-06-29 09:11:18,071 | INFO | ⚙️ chunk count: 1000\u001b[0m\n",
|
||||
"\u001b[38;5;39m2022-06-29 09:11:18,072 | INFO | ⚙️ function size: 0 kB\u001b[0m\n",
|
||||
"Parallel map: 100%|██████████| 1000/1000 [00:00<00:00, 1345.90it/s]\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"parallel_map(lambda x: x**3, range(int(1e6)))\n",
|
||||
"from time import sleep\n",
|
||||
"\n",
|
||||
"parallel_map(lambda x: sleep(0.1), range(int(1000)), concurrency=200)\n",
|
||||
"None"
|
||||
]
|
||||
},
|
||||
|
|
@ -41,12 +52,12 @@
|
|||
"name": "stderr",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"\u001b[38;5;39m2022-06-28 18:10:36,757 | INFO | Parallel map: configured ✅\u001b[0m\n",
|
||||
"\u001b[38;5;39m2022-06-28 18:10:36,758 | INFO | ⚙️ concurrency: 12\u001b[0m\n",
|
||||
"\u001b[38;5;39m2022-06-28 18:10:36,759 | INFO | ⚙️ chunk length: 1\u001b[0m\n",
|
||||
"\u001b[38;5;39m2022-06-28 18:10:36,759 | INFO | ⚙️ chunk count: unknown\u001b[0m\n",
|
||||
"\u001b[38;5;39m2022-06-28 18:10:36,760 | INFO | ⚙️ function size: 0 kB\u001b[0m\n",
|
||||
"Parallel map: 10it [00:21, 2.11s/it]\n"
|
||||
"\u001b[38;5;39m2022-06-29 09:11:20,399 | INFO | Parallel map: configured ✅\u001b[0m\n",
|
||||
"\u001b[38;5;39m2022-06-29 09:11:20,401 | INFO | ⚙️ concurrency: 12\u001b[0m\n",
|
||||
"\u001b[38;5;39m2022-06-29 09:11:20,401 | INFO | ⚙️ chunk length: 1\u001b[0m\n",
|
||||
"\u001b[38;5;39m2022-06-29 09:11:20,402 | INFO | ⚙️ chunk count: unknown\u001b[0m\n",
|
||||
"\u001b[38;5;39m2022-06-29 09:11:20,403 | INFO | ⚙️ function size: 0 kB\u001b[0m\n",
|
||||
"Parallel map: 10it [00:02, 4.93it/s]\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
|
@ -67,7 +78,7 @@
|
|||
"def my_generator():\n",
|
||||
" for i in range(10):\n",
|
||||
" yield i\n",
|
||||
" sleep(2)\n",
|
||||
" sleep(0.2)\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"parallel_map(lambda x: x**3, my_generator(), chunk_length=1)"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue