From 77e12d3b150725ee295c6f1c45cc60a15d06f106 Mon Sep 17 00:00:00 2001 From: Andras Schmelczer Date: Tue, 28 Jun 2022 18:37:30 +0200 Subject: [PATCH] Add example --- docs/map.ipynb | 104 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 104 insertions(+) create mode 100644 docs/map.ipynb diff --git a/docs/map.ipynb b/docs/map.ipynb new file mode 100644 index 0000000..7b493b2 --- /dev/null +++ b/docs/map.ipynb @@ -0,0 +1,104 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "from great_ai.utilities import parallel_map" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "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" + ] + } + ], + "source": [ + "parallel_map(lambda x: x**3, range(int(1e6)))\n", + "None" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "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" + ] + }, + { + "data": { + "text/plain": [ + "[0, 1, 8, 27, 64, 125, 216, 343, 512, 729]" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from time import sleep\n", + "\n", + "\n", + "def my_generator():\n", + " for i in range(10):\n", + " yield i\n", + " sleep(2)\n", + "\n", + "\n", + "parallel_map(lambda x: x**3, my_generator(), chunk_length=1)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3.10.4 ('.env': venv)", + "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.4" + }, + "orig_nbformat": 4, + "vscode": { + "interpreter": { + "hash": "d88b0dd276e3f918f7798b7e97af2e3c2f843817b9e5b55a9df0a682ffd80f44" + } + } + }, + "nbformat": 4, + "nbformat_minor": 2 +}