Repository where I mostly put random python scripts.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

288 lines
283 KiB

  1. {
  2. "cells": [
  3. {
  4. "cell_type": "code",
  5. "execution_count": 35,
  6. "metadata": {},
  7. "outputs": [],
  8. "source": [
  9. "import matplotlib.pyplot as plt\n",
  10. "\n",
  11. "def plot_result(single, threads, manager, streams, sizes, xLab=\"Tasks\", yLab=\"Execution Time (MS)\", title=\"Execution Times\"):\n",
  12. " plt.title(title)\n",
  13. " if len(sizes) == len(single):\n",
  14. " plt.plot(sizes, single, label=\"Single Threaded\")\n",
  15. " if len(sizes) == len(threads):\n",
  16. " plt.plot(sizes, threads, label=\"Vanilla Threads\")\n",
  17. " plt.plot(sizes, manager, label=\"Parallel Task Queue\")\n",
  18. " plt.plot(sizes, streams, label=\"Parallel Stream\")\n",
  19. " plt.legend(bbox_to_anchor=(0.6, 0.95), loc='upper left', borderaxespad=0.)\n",
  20. " plt.xlabel(xLab)\n",
  21. " plt.ylabel(yLab)\n",
  22. " plt.show()"
  23. ]
  24. },
  25. {
  26. "cell_type": "code",
  27. "execution_count": 22,
  28. "metadata": {},
  29. "outputs": [
  30. {
  31. "data": {
  32. "image/png": "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
  33. "text/plain": [
  34. "<Figure size 432x288 with 1 Axes>"
  35. ]
  36. },
  37. "metadata": {
  38. "needs_background": "light"
  39. },
  40. "output_type": "display_data"
  41. }
  42. ],
  43. "source": [
  44. "single = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]\n",
  45. "threads = [2, 10, 45, 31, 42, 36, 55, 66, 59, 85, 171, 98, 126, 138, 105, 111, 107, 121, 122, 134]\n",
  46. "manager = [1, 1, 2, 10, 1, 3, 2, 1, 2, 1, 4, 3, 3, 1, 2, 2, 2, 2, 2, 2]\n",
  47. "streams = [4, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]\n",
  48. "sizes = [1, 101, 201, 301, 401, 501, 601, 701, 801, 901, 1001, 1101, 1201, 1301, 1401, 1501, 1601, 1701, 1801, 1901]\n",
  49. "plot_result(single, threads, manager, streams, sizes, title='Operational Overhead')"
  50. ]
  51. },
  52. {
  53. "cell_type": "code",
  54. "execution_count": 23,
  55. "metadata": {},
  56. "outputs": [
  57. {
  58. "data": {
  59. "image/png": "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
  60. "text/plain": [
  61. "<Figure size 432x288 with 1 Axes>"
  62. ]
  63. },
  64. "metadata": {
  65. "needs_background": "light"
  66. },
  67. "output_type": "display_data"
  68. }
  69. ],
  70. "source": [
  71. "single = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]\n",
  72. "threads = []\n",
  73. "manager = [1, 1, 2, 10, 1, 3, 2, 1, 2, 1, 4, 3, 3, 1, 2, 2, 2, 2, 2, 2]\n",
  74. "streams = [4, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]\n",
  75. "sizes = [1, 101, 201, 301, 401, 501, 601, 701, 801, 901, 1001, 1101, 1201, 1301, 1401, 1501, 1601, 1701, 1801, 1901]\n",
  76. "plot_result(single, threads, manager, streams, sizes, title='Operational Overhead')"
  77. ]
  78. },
  79. {
  80. "cell_type": "code",
  81. "execution_count": 24,
  82. "metadata": {},
  83. "outputs": [
  84. {
  85. "data": {
  86. "image/png": "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
  87. "text/plain": [
  88. "<Figure size 432x288 with 1 Axes>"
  89. ]
  90. },
  91. "metadata": {
  92. "needs_background": "light"
  93. },
  94. "output_type": "display_data"
  95. }
  96. ],
  97. "source": [
  98. "single = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]\n",
  99. "threads = [2, 12, 53, 37, 39, 35, 58, 58, 63, 62, 132, 103, 94, 128, 132, 115, 110, 121, 124, 135, 145, 146, 160, 160, 171, 177, 189, 186, 201, 210, 210, 224, 226, 231, 232, 246, 265, 264, 299, 273, 291, 317, 295, 322, 320, 316, 329, 324, 345, 349, 353, 443, 405, 391, 377, 385, 383, 393, 419, 426, 418, 414, 433, 426, 433, 452, 466, 460, 467, 483, 494, 487, 501, 508, 507, 519, 530, 535, 542, 545, 556, 573, 566, 575, 579, 582, 594, 605, 612, 613, 622, 630, 632, 643, 666, 670, 662, 668, 669, 684]\n",
  100. "manager = [2, 1, 1, 5, 1, 1, 1, 1, 2, 1, 3, 11, 1, 2, 1, 2, 3, 2, 2, 2, 2, 3, 3, 2, 2, 3, 3, 3, 3, 3, 3, 3, 5, 4, 3, 1, 8, 2, 1, 1, 1, 2, 2, 1, 2, 3, 3, 2, 2, 2, 1, 2, 2, 1, 2, 3, 1, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 2, 2, 3, 3, 2, 4, 3, 4, 3, 3, 4, 2, 3, 3, 4, 4, 3, 3, 4, 4, 3, 5, 5, 4, 4, 4, 4, 4, 3, 5, 6, 6, 5]\n",
  101. "streams = [4, 2, 0, 0, 2, 0, 0, 0, 1, 1, 0, 2, 2, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]\n",
  102. "sizes = [1, 101, 201, 301, 401, 501, 601, 701, 801, 901, 1001, 1101, 1201, 1301, 1401, 1501, 1601, 1701, 1801, 1901, 2001, 2101, 2201, 2301, 2401, 2501, 2601, 2701, 2801, 2901, 3001, 3101, 3201, 3301, 3401, 3501, 3601, 3701, 3801, 3901, 4001, 4101, 4201, 4301, 4401, 4501, 4601, 4701, 4801, 4901, 5001, 5101, 5201, 5301, 5401, 5501, 5601, 5701, 5801, 5901, 6001, 6101, 6201, 6301, 6401, 6501, 6601, 6701, 6801, 6901, 7001, 7101, 7201, 7301, 7401, 7501, 7601, 7701, 7801, 7901, 8001, 8101, 8201, 8301, 8401, 8501, 8601, 8701, 8801, 8901, 9001, 9101, 9201, 9301, 9401, 9501, 9601, 9701, 9801, 9901]\n",
  103. "plot_result(single, threads, manager, streams, sizes, title='Operational Overhead')\n"
  104. ]
  105. },
  106. {
  107. "cell_type": "code",
  108. "execution_count": 25,
  109. "metadata": {},
  110. "outputs": [
  111. {
  112. "data": {
  113. "image/png": "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
  114. "text/plain": [
  115. "<Figure size 432x288 with 1 Axes>"
  116. ]
  117. },
  118. "metadata": {
  119. "needs_background": "light"
  120. },
  121. "output_type": "display_data"
  122. }
  123. ],
  124. "source": [
  125. "single = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]\n",
  126. "threads=[]\n",
  127. "manager = [2, 1, 1, 5, 1, 1, 1, 1, 2, 1, 3, 11, 1, 2, 1, 2, 3, 2, 2, 2, 2, 3, 3, 2, 2, 3, 3, 3, 3, 3, 3, 3, 5, 4, 3, 1, 8, 2, 1, 1, 1, 2, 2, 1, 2, 3, 3, 2, 2, 2, 1, 2, 2, 1, 2, 3, 1, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 2, 2, 3, 3, 2, 4, 3, 4, 3, 3, 4, 2, 3, 3, 4, 4, 3, 3, 4, 4, 3, 5, 5, 4, 4, 4, 4, 4, 3, 5, 6, 6, 5]\n",
  128. "streams = [4, 2, 0, 0, 2, 0, 0, 0, 1, 1, 0, 2, 2, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]\n",
  129. "sizes = [1, 101, 201, 301, 401, 501, 601, 701, 801, 901, 1001, 1101, 1201, 1301, 1401, 1501, 1601, 1701, 1801, 1901, 2001, 2101, 2201, 2301, 2401, 2501, 2601, 2701, 2801, 2901, 3001, 3101, 3201, 3301, 3401, 3501, 3601, 3701, 3801, 3901, 4001, 4101, 4201, 4301, 4401, 4501, 4601, 4701, 4801, 4901, 5001, 5101, 5201, 5301, 5401, 5501, 5601, 5701, 5801, 5901, 6001, 6101, 6201, 6301, 6401, 6501, 6601, 6701, 6801, 6901, 7001, 7101, 7201, 7301, 7401, 7501, 7601, 7701, 7801, 7901, 8001, 8101, 8201, 8301, 8401, 8501, 8601, 8701, 8801, 8901, 9001, 9101, 9201, 9301, 9401, 9501, 9601, 9701, 9801, 9901]\n",
  130. "plot_result(single, threads, manager, streams, sizes, title='Operational Overhead')\n"
  131. ]
  132. },
  133. {
  134. "cell_type": "code",
  135. "execution_count": 29,
  136. "metadata": {},
  137. "outputs": [
  138. {
  139. "data": {
  140. "image/png": "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vr8FTSJKKdWMFZRWkpFXisVqIzLYl3bBfnh4nL4vATrEVynV5MycOZO+ffuSmJhI//79+eWXXwC46aab2Lx580ltMy0tjfj4eKeWzcnJoX///vTv35/27dvTsWPH6unt27c7vZ1TFRQUVOs8i9XGvpwS0nKK8fQQzogK4o3nn+Zf/3rutMRWRc9ElFJNyk8//cSyZctYt24dvr6+HD58mIqKCgDeeuut0xJDeHg469evB2DGjBkEBQXx97//HbAnI2dYLBa8vBr/I9YYQ35pJQfySrEaaBfiR2SwLx5u6oLUMxGlVJOSmZlJREQEvr6+AERERNChQwcARo4cWf1QuaCgIB5++GH69evH0KFDOXToEAC7du1i6NChJCQkMG3atBN+m7darUyZMoXk5GQSExN54403GhSj1Wrl5ptvpm/fvowePZrS0tLq+O655x6SkpJ48cUXWbt2LWeffTaDBg1izJgxZGbax9e++eabJCcn069fPyZOnEhJSQkAe/bs4cwzz6yOvaZ//vOfJCUl0zs+gakPT8fHy5PuUUG89fJz9OrZk+HDh7Nt27YGHUdj0DMRpVStHv1kE5sPFDTqNvt0COGRi/rWOn/06NE89thj9OjRg/POO48rr7ySs88++7jliouLGTp0KDNnzuT+++/nzTffZNq0adx9993cfffdTJo0iddff/2E+3j77bcJDQ1l9erVlJeXM2zYMEaPHk1cXJxTx7Bjxw7ef/993nzzTa644goWLVrE1VdfDUBFRQVr1qyhsrKSs88+m48//pjIyEg++OADHn74YebMmcOECRO4+eabAZg2bRpvv/02d955J3fffTe33XYb1157La+88kr1/r788ks2bt7K3CUrsBnD32++iowta8kPCmLBggWsX78ei8XCwIEDGTRokFPH0Fg0iSilmpSgoCDWrl3Ld999x8qVK7nyyiuZNWsWkydPPmo5Hx8fxo0bB8CgQYNYsWIFYO8OW7JkCQB//vOfq7uhalq+fDkpKSksXLgQgPz8fHbs2OF0EomLi6N///7V+67ZxXXllVcCsG3bNlJTUzn//PMB+9lLdHQ0AKmpqUybNo28vDyKiooYM2YMAD/88AOLFi0C4JprruGBBx6gvNLK/z7+lK+/WsGa1Wfh7elBcXERO3fupLCwkEsvvZSAgAAAxo8f71T8jUmTiFKqVnWdMbiSp6cnI0eOZOTIkSQkJDBv3rzjkoi3t3f18FNPT08sFovT2zfG8PLLL1d/eDdUVVdb1b6rurMAAgMDq/fRt29ffvrpp+PWnzx5MkuWLKFfv37MnTuXVatWVc+rOiZjDAbYkVWExWrjvin3c++dfz1qyO0LL7xwUvE3Jr0mopRqUrZt28aOHTuqp9evX0+XLl2cXn/o0KHV3+YXLFhwwmXGjBnDa6+9RmVlJQDbt2+nuLj4FKI+Xs+ePcnOzq5OIpWVlWzatAmAwsJCoqOjqays5L333qteZ9iwYSxYsIDSCisvvDEHYyDI14srLhnHB+/9pzrGjIwMsrKyOOuss1iyZAmlpaUUFhbyySefNOoxOEPPRJRSTUpRURF33nkneXl5eHl50a1bN2bPnu30+i+88AJXX301M2fOZOzYsYSGhh63zE033URaWhoDBw7EGENkZGR1F1hj8fHxYeHChdx1113
  141. "text/plain": [
  142. "<Figure size 432x288 with 1 Axes>"
  143. ]
  144. },
  145. "metadata": {
  146. "needs_background": "light"
  147. },
  148. "output_type": "display_data"
  149. }
  150. ],
  151. "source": [
  152. "single = [501, 3000, 5501, 8001, 10502, 13003, 15503, 18004, 20504, 23005]\n",
  153. "threads = [503, 501, 503, 502, 503, 504, 504, 538, 504, 505]\n",
  154. "manager = [503, 501, 1002, 1046, 1501, 2001, 2002, 2502, 3002, 3002]\n",
  155. "streams = [504, 502, 1000, 1001, 1501, 2001, 2005, 2501, 3002, 3002]\n",
  156. "sizes = [1, 6, 11, 16, 21, 26, 31, 36, 41, 46]\n",
  157. "plot_result(single, threads, manager, streams, sizes, title='Sleeping Tasks')"
  158. ]
  159. },
  160. {
  161. "cell_type": "code",
  162. "execution_count": 30,
  163. "metadata": {},
  164. "outputs": [
  165. {
  166. "data": {
  167. "image/png": "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
  168. "text/plain": [
  169. "<Figure size 432x288 with 1 Axes>"
  170. ]
  171. },
  172. "metadata": {
  173. "needs_background": "light"
  174. },
  175. "output_type": "display_data"
  176. }
  177. ],
  178. "source": [
  179. "single = [0, 0, 1, 0, 0, 0, 0, 0, 0, 0]\n",
  180. "threads = [2, 0, 2, 6, 5, 4, 7, 48, 30, 7]\n",
  181. "manager = [2, 0, 1, 2, 1, 4, 1, 3, 0, 1]\n",
  182. "streams = [9, 1, 0, 2, 0, 0, 0, 1, 0, 0]\n",
  183. "sizes = [1, 6, 11, 16, 21, 26, 31, 36, 41, 46]\n",
  184. "plot_result(single, threads, manager, streams, sizes, title='Sleeping Tasks')"
  185. ]
  186. },
  187. {
  188. "cell_type": "code",
  189. "execution_count": 31,
  190. "metadata": {},
  191. "outputs": [
  192. {
  193. "data": {
  194. "image/png": "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
  195. "text/plain": [
  196. "<Figure size 432x288 with 1 Axes>"
  197. ]
  198. },
  199. "metadata": {
  200. "needs_background": "light"
  201. },
  202. "output_type": "display_data"
  203. }
  204. ],
  205. "source": [
  206. "single = [0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 2, 3, 4, 4, 4, 3, 4, 4, 5, 4, 4, 4, 5, 5, 5, 5, 5, 6, 5, 7, 6, 6, 7, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 6, 9, 9, 8, 8, 9, 9, 10, 10, 9, 8, 10, 10, 11, 10, 9, 11, 11, 12, 12, 10, 12, 13, 13, 11, 13, 13, 13, 12, 14, 14, 14, 13, 15, 15, 16, 15, 14, 15, 16, 17, 17, 15, 17, 17, 19, 15, 18, 18, 19, 19, 19, 20, 17, 20, 20, 20, 21, 21, 22, 21, 21, 22, 22, 21, 20, 23, 25, 23, 21, 22, 26, 24, 23, 26, 27, 24, 27, 25, 26, 25, 26, 26, 30, 27, 26, 29, 26, 27, 28, 30, 31, 28, 32, 29, 29, 30, 31, 33, 34, 35, 31, 31, 33, 33, 34, 33, 33, 33, 35, 35, 35, 37, 35, 35, 38, 37, 38]\n",
  207. "threads = [2, 0, 8, 11, 3, 8, 7, 5, 11, 5, 31, 19, 16, 6, 5, 7, 6, 8, 6, 6, 9, 9, 8, 9, 11, 13, 11, 9, 16, 11, 10, 10, 14, 11, 11, 20, 12, 14, 16, 14, 25, 17, 15, 19, 16, 37, 46, 63, 40, 22, 19, 19, 36, 20, 18, 20, 20, 21, 24, 25, 21, 22, 22, 29, 24, 23, 23, 24, 26, 24, 25, 25, 28, 24, 29, 27, 28, 28, 28, 28, 30, 27, 31, 28, 33, 30, 31, 28, 33, 32, 32, 38, 32, 33, 33, 32, 42, 34, 36, 37, 37, 38, 39, 35, 44, 40, 37, 37, 41, 40, 37, 39, 42, 41, 40, 43, 41, 44, 41, 45, 47, 45, 49, 47, 45, 44, 50, 45, 46, 49, 47, 45, 49, 49, 48, 50, 48, 48, 54, 53, 51, 50, 51, 53, 51, 51, 55, 54, 54, 56, 55, 57, 54, 55, 56, 57, 59, 57, 67, 59, 58, 58, 61, 61, 58, 60, 61, 73, 65, 59, 60, 61, 63, 63, 67, 67, 70, 69, 65, 64, 64, 66, 64, 67, 64, 71, 66, 66, 73, 78, 70, 70, 70, 71, 73, 69, 69, 74, 78, 72]\n",
  208. "manager = [2, 0, 1, 16, 1, 1, 2, 2, 41, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 3, 2, 1, 1, 1, 3, 27, 2, 2, 1, 1, 1, 2, 1, 1, 2, 1, 0, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 2, 3, 2, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1, 1, 3, 2, 1, 2, 2, 2, 3, 1, 1, 2, 1, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 3, 2, 3, 2, 3, 2, 2, 3, 3, 2, 3, 3, 2, 3, 2, 2, 3, 3, 3, 2, 3, 3, 2, 4, 5, 2, 3, 6, 7, 5, 3, 3, 3, 3, 4, 3, 3, 4, 3, 4, 4, 4, 3, 3, 4, 4, 5, 4, 4, 5, 3, 4, 4, 4, 3, 4, 3, 4, 4, 4, 4, 4, 4, 3, 5, 3, 5, 4, 5, 5, 7, 4, 4, 6, 6, 5, 5, 5, 5, 5, 5, 5, 5, 5, 8, 4, 6, 6, 7, 6, 5, 6, 6, 5, 6, 7, 6, 5, 6, 7, 6, 6, 6, 7, 7, 6, 5, 7, 6, 6, 7]\n",
  209. "streams = [10, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 1, 2, 2, 2, 1, 2, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 3, 2, 3, 2, 3, 3, 3, 3, 3, 3, 3, 2, 3, 3, 3, 3, 3, 3, 2, 3, 3, 4, 4, 3, 3, 4, 3, 4, 3, 4, 4, 4, 4, 4, 4, 5, 4, 5, 4, 4, 4, 4, 5, 5, 5, 4, 5, 5, 5, 4, 6, 6, 5, 5, 7, 5, 5, 4, 5, 5, 5, 4, 6, 6, 5, 5, 6, 7, 6, 6, 7, 6, 5, 6, 7, 5, 6, 6, 5, 6, 6, 7, 6, 6, 6, 6, 6, 5, 6, 7, 7, 6, 7, 7, 6, 6, 7, 7, 7, 6, 7, 7, 6, 6, 7, 6, 8, 7]\n",
  210. "sizes = [1, 6, 11, 16, 21, 26, 31, 36, 41, 46, 51, 56, 61, 66, 71, 76, 81, 86, 91, 96, 101, 106, 111, 116, 121, 126, 131, 136, 141, 146, 151, 156, 161, 166, 171, 176, 181, 186, 191, 196, 201, 206, 211, 216, 221, 226, 231, 236, 241, 246, 251, 256, 261, 266, 271, 276, 281, 286, 291, 296, 301, 306, 311, 316, 321, 326, 331, 336, 341, 346, 351, 356, 361, 366, 371, 376, 381, 386, 391, 396, 401, 406, 411, 416, 421, 426, 431, 436, 441, 446, 451, 456, 461, 466, 471, 476, 481, 486, 491, 496, 501, 506, 511, 516, 521, 526, 531, 536, 541, 546, 551, 556, 561, 566, 571, 576, 581, 586, 591, 596, 601, 606, 611, 616, 621, 626, 631, 636, 641, 646, 651, 656, 661, 666, 671, 676, 681, 686, 691, 696, 701, 706, 711, 716, 721, 726, 731, 736, 741, 746, 751, 756, 761, 766, 771, 776, 781, 786, 791, 796, 801, 806, 811, 816, 821, 826, 831, 836, 841, 846, 851, 856, 861, 866, 871, 876, 881, 886, 891, 896, 901, 906, 911, 916, 921, 926, 931, 936, 941, 946, 951, 956, 961, 966, 971, 976, 981, 986, 991, 996]\n",
  211. "plot_result(single, threads, manager, streams, sizes, title='Complex Math')"
  212. ]
  213. },
  214. {
  215. "cell_type": "code",
  216. "execution_count": 36,
  217. "metadata": {},
  218. "outputs": [
  219. {
  220. "data": {
  221. "image/png": "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n97o8Q0ds2TJEpKTk0lOTiYiIoJ+/fqRnJzMzTff7LMdM2fOZO7cuY0eo7XmySefpE+fPvTt25cJEyawZcsWn+8RSPzp8Y8FZiil9mImcycCLwPtlFLupHIScMiPNpwUThF+QThlQkND2bRpE2lpaQQFBfH666/7dJ7dbm/6oNNg6tSpbNq0iU2bNpGSksKcOXPYtGkTs2fPbtb7vPbaa3z//fds3ryZHTt28PDDDzNjxgzKy8ub9T7Ngd+EX2v9R611kta6O3A98JXW+kZgJXC167BbgHn+suFk0Z6qnpa1QxDOdsaPH09WVhYLFixg9OjRDB8+nMmTJ5OXlwfA448/zk033cTYsWO56aab2Lt3L+PHj2fEiBGMGDGC77//vtHrl5eXc+uttzJq1CiGDx/OvHknLyN33HEHKSkpDBo0iMcee8yz/cEHH2TgwIEMHTqU3//+98ed9+ijjzJz5kwcDked7X/961959dVXCQsLA2DKlCmMHz+eOXPmABAREeE5du7cucycOROAgoICrrrqKlJTU0lNTWX16tWe7+j555/3nDN48GD27t0LwLvvvsuoUaNITk7m17/+9XG2NEVL1PH/AfhAKfUksBF4owVsaBCnS/FlAnrhbOaJBelsyy5p1msO7BTFY5cO8ulYu93OokWLmDZtGuPGjePHH39EKcV///tfnnvuOV544QUAtm3bxnfffUdoaCjHjh1j2bJlhISEsHPnTm644YZGZ9176qmnmDhxIm+++SZFRUWMGjWKyZMnn9Rneuqpp4iJicHhcDBp0iS2bNlC586d+eyzz8jMzEQpRVFRUZ1z7r//fkpLS/nf//5XJ4FaUlJCeXk5PXv2rHN8SkoK27Zta9SOe+65h9/97neMGzeO/fv3M3XqVDIyMk54fEZGBh9++CGrV6/GZrNx5513MmfOnJMKXQVE+LXWq4BVruXdwKhA3PdkcYrHLwinTEVFBcnJyYDp8d92221s376d6667jpycHKqrq+nRo4fn+BkzZhAaGgqYA9B+85vfsGnTJiwWCzt27Gj0XkuXLmX+/Pkej7iyspL9+/eflL0fffQRs2bNwm63k5OTw7Zt2xg4cCAhISHcdtttTJ8+vU6+4C9/+QujR49m1qxZJ3Wfpli+fHmdh0NJSQllZWUnPH7FihWsX7+e1NRUwPzeExISTuqeMnLXC4nxC60BXz3z5sYd4/fm7rvv5r777mPGjBmsWrWKxx9/3LMvPDzcs/zSSy+RmJjI5s2bcTqdhISENHovrTWffPIJ/fr1q7PdHUpqij179vD888+zdu1a2rdvz8yZM6msrMRqtbJmzRpWrFjB3LlzefXVV/nqq68ASE1NZf369Rw5coSYmJg614uKiiI8PJzdu3fX8frXr1/PlClTgLollt419k6nkx9//PG4z2y1WnE6ncedo7Xmlltu4ZlnnvHpszaE9OrxQur4BaF5KS4upnNns2L77bffbvS4jh07YhgG77zzTpMx66lTp/LKK694/s9u3LjxpOwqKSkhPDyc6Oho8vLyWLRoEQBlZWUUFxdz8cUX89JLL7F582bPOdOmTePBBx/kkksuobS09Lhr3n///fz2t7+loqICMD359PR0rr7aTGkmJiaSkZGB0+nks88+85w3ZcoUXnnlFc+6++HZvXt3Nmz
  222. "text/plain": [
  223. "<Figure size 432x288 with 1 Axes>"
  224. ]
  225. },
  226. "metadata": {
  227. "needs_background": "light"
  228. },
  229. "output_type": "display_data"
  230. }
  231. ],
  232. "source": [
  233. "manager = [2, 0, 1, 16, 1, 1, 2, 2, 41, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 3, 2, 1, 1, 1, 3, 27, 2, 2, 1, 1, 1, 2, 1, 1, 2, 1, 0, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 2, 3, 2, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1, 1, 3, 2, 1, 2, 2, 2, 3, 1, 1, 2, 1, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 3, 2, 3, 2, 3, 2, 2, 3, 3, 2, 3, 3, 2, 3, 2, 2, 3, 3, 3, 2, 3, 3, 2, 4, 5, 2, 3, 6, 7, 5, 3, 3, 3, 3, 4, 3, 3, 4, 3, 4, 4, 4, 3, 3, 4, 4, 5, 4, 4, 5, 3, 4, 4, 4, 3, 4, 3, 4, 4, 4, 4, 4, 4, 3, 5, 3, 5, 4, 5, 5, 7, 4, 4, 6, 6, 5, 5, 5, 5, 5, 5, 5, 5, 5, 8, 4, 6, 6, 7, 6, 5, 6, 6, 5, 6, 7, 6, 5, 6, 7, 6, 6, 6, 7, 7, 6, 5, 7, 6, 6, 7]\n",
  234. "streams = [10, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 1, 2, 2, 2, 1, 2, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 3, 2, 3, 2, 3, 3, 3, 3, 3, 3, 3, 2, 3, 3, 3, 3, 3, 3, 2, 3, 3, 4, 4, 3, 3, 4, 3, 4, 3, 4, 4, 4, 4, 4, 4, 5, 4, 5, 4, 4, 4, 4, 5, 5, 5, 4, 5, 5, 5, 4, 6, 6, 5, 5, 7, 5, 5, 4, 5, 5, 5, 4, 6, 6, 5, 5, 6, 7, 6, 6, 7, 6, 5, 6, 7, 5, 6, 6, 5, 6, 6, 7, 6, 6, 6, 6, 6, 5, 6, 7, 7, 6, 7, 7, 6, 6, 7, 7, 7, 6, 7, 7, 6, 6, 7, 6, 8, 7]\n",
  235. "sizes = [1, 6, 11, 16, 21, 26, 31, 36, 41, 46, 51, 56, 61, 66, 71, 76, 81, 86, 91, 96, 101, 106, 111, 116, 121, 126, 131, 136, 141, 146, 151, 156, 161, 166, 171, 176, 181, 186, 191, 196, 201, 206, 211, 216, 221, 226, 231, 236, 241, 246, 251, 256, 261, 266, 271, 276, 281, 286, 291, 296, 301, 306, 311, 316, 321, 326, 331, 336, 341, 346, 351, 356, 361, 366, 371, 376, 381, 386, 391, 396, 401, 406, 411, 416, 421, 426, 431, 436, 441, 446, 451, 456, 461, 466, 471, 476, 481, 486, 491, 496, 501, 506, 511, 516, 521, 526, 531, 536, 541, 546, 551, 556, 561, 566, 571, 576, 581, 586, 591, 596, 601, 606, 611, 616, 621, 626, 631, 636, 641, 646, 651, 656, 661, 666, 671, 676, 681, 686, 691, 696, 701, 706, 711, 716, 721, 726, 731, 736, 741, 746, 751, 756, 761, 766, 771, 776, 781, 786, 791, 796, 801, 806, 811, 816, 821, 826, 831, 836, 841, 846, 851, 856, 861, 866, 871, 876, 881, 886, 891, 896, 901, 906, 911, 916, 921, 926, 931, 936, 941, 946, 951, 956, 961, 966, 971, 976, 981, 986, 991, 996]\n",
  236. "plot_result([], [], manager, streams, sizes, title='Complex Maths')"
  237. ]
  238. },
  239. {
  240. "cell_type": "code",
  241. "execution_count": 38,
  242. "metadata": {},
  243. "outputs": [
  244. {
  245. "data": {
  246. "image/png": "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
  247. "text/plain": [
  248. "<Figure size 432x288 with 1 Axes>"
  249. ]
  250. },
  251. "metadata": {
  252. "needs_background": "light"
  253. },
  254. "output_type": "display_data"
  255. }
  256. ],
  257. "source": [
  258. "single = [0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 2, 3, 3, 3, 4, 5, 5, 5, 5, 5, 7, 9, 7, 10, 9, 10, 18, 11, 13, 15, 17, 18, 15, 17, 19, 22, 21, 22, 24, 29, 29, 26, 27, 32, 34, 36, 31, 36, 34, 42, 54, 41, 40, 49, 52, 45, 47, 50, 51, 50, 53, 55, 56, 58, 59, 62, 64, 65, 68, 69, 71, 74, 78, 78, 81, 82, 84, 86, 88, 92, 93, 96, 114, 101, 103, 105, 109, 109, 112, 136, 117, 120, 125, 127, 131, 131, 134, 137, 141, 142, 148, 148, 151, 155, 157, 160, 164, 167, 202, 173, 177, 182, 184, 198, 189, 193, 195, 204, 206, 225, 211, 214, 215, 220, 226, 228, 230, 234, 245, 243, 245, 249, 255, 256, 261, 264, 271, 272, 277, 279, 285, 287, 293, 298, 302, 304, 310, 317, 317, 323, 328, 363, 347, 346, 352, 351, 353, 359, 365, 382, 373, 417, 385, 391, 393, 398, 401, 409, 410, 414, 419, 423, 430, 440, 438, 443, 448, 457, 484, 472, 475, 476, 486, 485, 489, 493, 524, 508, 511, 520, 526, 531, 533, 539, 546, 571, 554, 562, 572, 582, 578, 595, 613, 601, 603, 608, 614, 620, 632, 644, 637, 642, 655, 656, 666, 668, 697, 681, 692, 693, 718, 710, 712, 719, 725, 743, 755, 743, 754, 756, 763, 770, 781, 792, 808, 805, 803, 839, 819, 838, 839, 839, 856, 859, 878, 880, 885, 884, 922, 893, 906, 935, 915, 933, 944, 955, 954, 976, 965, 968, 983, 983, 996, 996, 1012, 1045, 1060, 1028, 1034, 1059, 1064, 1057, 1088, 1078, 1083, 1104, 1106, 1113, 1121, 1151, 1138, 1146, 1167, 1162, 1180, 1190, 1189, 1187, 1222, 1208, 1229, 1231, 1235, 1245, 1261, 1279, 1266, 1277, 1301, 1299, 1308, 1321, 1322, 1332, 1363, 1347, 1357, 1381, 1386, 1401, 1390, 1412, 1420, 1427, 1435, 1431, 1448, 1466, 1469, 1485, 1510, 1485, 1496, 1529, 1529, 1563, 1554, 1551, 1569, 1578, 1575, 1589, 1590, 1601, 1613, 1639, 1630, 1666, 1668, 1660, 1689, 1698, 1707, 1697, 1737, 1717, 1750, 1739, 1778, 1782, 1788, 1776, 1816, 1819, 1843, 1838, 1847, 1871, 1878, 1868, 1881, 1882, 1904, 1930, 1915, 1935, 1950, 1942, 1966, 1966, 1981, 1997, 2013, 2011, 2061, 2058, 2048, 2050, 2102, 2105, 2086, 2117, 2124, 2130, 2135, 2167, 2147, 2154, 2177, 2188, 2208, 2204, 2232, 2227, 2247, 2280, 2294, 2308, 2301, 2310, 2311, 2345, 2339, 2344, 2386, 2384, 2391, 2416, 2427, 2422, 2430, 2442, 2465, 2463, 2477, 2517, 2520, 2523, 2550, 2540, 2552, 2572, 2597, 2616, 2606, 2601, 2649, 2650, 2675, 2686, 2669, 2692, 2704, 2713, 2732, 2762, 2756, 2770, 2797, 2786, 2837, 2810, 2826, 2867, 2887, 2898, 2900, 2910, 2899, 2914, 2921, 2945, 2947, 2988, 2978, 2986, 3000, 3044, 3041, 3049, 3053, 3083, 3097, 3105, 3104, 3144, 3179, 3146, 3170, 3194, 3235, 3245, 3215, 3231, 3246, 3255, 3263, 3301, 3291, 3313, 3352, 3367, 3351, 3371, 3390, 3398, 3408, 3455, 3434, 3448, 3498, 3522, 3545, 3530, 3554, 3545, 3546, 3573, 3596, 3598]\n",
  259. "threads = [1, 3, 4, 9, 26, 14, 12, 10, 11, 17, 14, 15, 30, 18, 20, 26, 27, 27, 24, 28, 28, 34, 60, 60, 39, 58, 36, 53, 40, 47, 41, 46, 67, 55, 53, 65, 64, 63, 70, 55, 58, 63, 57, 65, 62, 63, 72, 63, 71, 81, 72, 100, 76, 78, 86, 87, 90, 78, 80, 82, 88, 85, 100, 90, 88, 102, 91, 95, 104, 96, 101, 112, 102, 114, 103, 116, 107, 117, 107, 117, 114, 116, 114, 123, 128, 119, 144, 123, 138, 127, 140, 130, 143, 134, 171, 134, 175, 139, 151, 141, 156, 137, 143, 162, 174, 164, 152, 181, 155, 153, 183, 163, 185, 182, 197, 202, 190, 195, 189, 200, 174, 247, 198, 194, 203, 208, 202, 198, 203, 225, 209, 211, 235, 225, 213, 227, 244, 210, 230, 227, 230, 238, 211, 245, 241, 241, 250, 239, 270, 375, 289, 269, 389, 934, 295, 425, 463, 617, 660, 314, 672, 1137, 436, 570, 323, 322, 288, 318, 295, 293, 389, 363, 354, 373, 323, 341, 343, 326, 343, 324, 313, 320, 327, 320, 325, 310, 322, 330, 350, 345, 353, 355, 356, 409, 352, 356, 372, 360, 355, 375, 366, 446, 347, 368, 364, 374, 413, 374, 393, 415, 435, 375, 405, 427, 420, 419, 409, 418, 401, 390, 432, 445, 421, 424, 411, 415, 405, 461, 443, 445, 429, 422, 434, 429, 469, 462, 437, 431, 437, 474, 454, 491, 496, 467, 466, 593, 508, 473, 563, 528, 517, 488, 497, 492, 514, 489, 533, 505, 541, 518, 526, 513, 539, 540, 531, 671, 772, 664, 548, 539, 554, 562, 585, 564, 629, 756, 596, 572, 628, 554, 605, 595, 593, 605, 588, 653, 594, 652, 605, 648, 609, 584, 611, 610, 590, 589, 659, 602, 601, 634, 617, 681, 622, 618, 663, 664, 650, 689, 675, 652, 697, 698, 643, 693, 759, 709, 659, 666, 678, 646, 691, 762, 734, 697, 699, 819, 741, 814, 735, 764, 735, 739, 778, 796, 752, 764, 762, 765, 775, 781, 750, 762, 788, 840, 769, 814, 806, 831, 755, 775, 817, 799, 802, 808, 808, 817, 836, 833, 844, 807, 885, 871, 823, 855, 838, 867, 915, 837, 851, 889, 856, 855, 939, 923, 906, 910, 894, 888, 923, 915, 939, 902, 929, 875, 956, 889, 927, 925, 911, 994, 977, 925, 931, 1035, 912, 1047, 1005, 1030, 978, 938, 1004, 984, 1017, 998, 980, 1064, 989, 991, 1022, 1009, 985, 1044, 1102, 1028, 1049, 1042, 1086, 1051, 1062, 1075, 1091, 1078, 1077, 1066, 1098, 1035, 1074, 1064, 1083, 1083, 1062, 1122, 1124, 1106, 1139, 1120, 1129, 1160, 1127, 1209, 1114, 1124, 1148, 1169, 1165, 1151, 1120, 1130, 1142, 1218, 1193, 1197, 1179, 1171, 1165, 1236, 1223, 1178, 1239, 1222, 1214, 1200, 1206, 1215, 1213, 1214, 1249, 1252, 1337, 1231, 1232, 1319, 1283, 1246, 1262, 1297, 1278, 1300, 1244, 1264, 1327, 1333, 1266, 1342, 1326, 1412, 1282, 1296, 1303, 1315, 1363, 1341, 1333, 1342, 1352, 1318, 1341, 1384, 1353, 1358]\n",
  260. "manager = [2, 1, 6, 3, 1, 2, 2, 4, 2, 5, 1, 2, 3, 3, 2, 2, 2, 3, 4, 2, 2, 3, 3, 4, 4, 3, 3, 3, 3, 5, 6, 6, 5, 6, 5, 8, 5, 5, 5, 5, 7, 7, 6, 7, 11, 7, 8, 5, 8, 7, 9, 17, 13, 11, 27, 16, 13, 11, 10, 19, 22, 13, 15, 13, 13, 13, 16, 14, 14, 15, 16, 17, 18, 16, 31, 13, 15, 15, 14, 15, 16, 28, 16, 15, 18, 16, 18, 20, 18, 20, 23, 18, 26, 19, 26, 21, 22, 21, 28, 24, 32, 27, 24, 25, 31, 28, 26, 25, 26, 27, 28, 28, 45, 31, 34, 32, 31, 31, 31, 40, 32, 36, 36, 34, 37, 40, 38, 36, 40, 43, 37, 42, 39, 39, 41, 40, 46, 66, 43, 45, 43, 53, 67, 45, 51, 48, 52, 49, 58, 51, 54, 52, 55, 104, 66, 61, 74, 70, 66, 69, 83, 120, 72, 75, 63, 68, 99, 67, 66, 64, 61, 64, 72, 99, 75, 87, 71, 71, 90, 71, 104, 70, 79, 105, 77, 75, 85, 80, 86, 106, 77, 84, 86, 79, 85, 82, 92, 83, 84, 87, 93, 94, 110, 90, 121, 90, 91, 93, 91, 100, 92, 124, 101, 102, 104, 99, 102, 102, 102, 102, 121, 118, 108, 104, 105, 113, 111, 111, 113, 107, 109, 127, 133, 127, 119, 115, 118, 123, 119, 142, 138, 119, 121, 136, 136, 126, 133, 127, 142, 129, 142, 144, 132, 144, 148, 141, 142, 141, 139, 138, 150, 155, 143, 158, 144, 159, 172, 199, 166, 167, 151, 151, 168, 163, 164, 157, 174, 163, 179, 178, 165, 177, 169, 181, 177, 171, 172, 167, 188, 172, 177, 204, 181, 203, 188, 195, 186, 202, 194, 202, 207, 197, 189, 217, 192, 195, 218, 196, 200, 198, 202, 206, 217, 200, 222, 224, 216, 223, 213, 243, 221, 213, 215, 223, 216, 225, 224, 241, 234, 232, 232, 236, 226, 260, 240, 250, 241, 235, 245, 249, 258, 272, 254, 288, 266, 253, 261, 274, 276, 258, 265, 256, 254, 258, 291, 266, 273, 263, 271, 265, 280, 288, 273, 285, 303, 276, 292, 297, 290, 295, 284, 284, 294, 290, 294, 299, 303, 300, 318, 302, 305, 305, 324, 318, 302, 311, 321, 317, 330, 325, 310, 325, 330, 331, 331, 326, 327, 342, 344, 382, 343, 336, 343, 362, 343, 354, 353, 363, 348, 352, 363, 345, 346, 364, 444, 361, 369, 363, 368, 383, 367, 369, 373, 371, 387, 377, 382, 380, 371, 375, 391, 393, 391, 386, 395, 395, 392, 419, 407, 405, 411, 399, 407, 417, 415, 427, 421, 430, 415, 427, 431, 442, 448, 445, 447, 442, 450, 488, 447, 450, 452, 468, 459, 448, 463, 458, 458, 453, 479, 472, 466, 466, 470, 486, 469, 504, 514, 489, 495, 486, 504, 498, 491, 498, 494, 502, 509, 519, 542, 512, 504, 513, 515, 514, 524, 518, 518, 520, 512, 533]\n",
  261. "streams = [14, 3, 1, 3, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 2, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 2, 3, 3, 5, 4, 6, 4, 3, 5, 5, 4, 6, 5, 5, 7, 6, 6, 8, 8, 8, 8, 8, 7, 9, 9, 8, 8, 11, 10, 8, 9, 11, 11, 10, 11, 12, 12, 11, 12, 12, 12, 12, 13, 13, 15, 14, 14, 17, 14, 17, 17, 17, 17, 32, 16, 18, 16, 18, 17, 19, 22, 21, 21, 28, 22, 24, 23, 25, 26, 25, 23, 30, 25, 30, 31, 69, 26, 30, 30, 27, 29, 32, 28, 29, 32, 33, 34, 34, 50, 31, 33, 34, 42, 37, 41, 37, 37, 41, 40, 37, 39, 41, 46, 43, 46, 48, 42, 49, 43, 54, 48, 67, 48, 48, 57, 46, 49, 53, 50, 88, 54, 91, 53, 54, 57, 54, 91, 69, 65, 70, 481, 67, 91, 81, 158, 82, 79, 67, 76, 70, 71, 65, 98, 69, 84, 88, 75, 111, 80, 72, 74, 73, 80, 87, 87, 86, 79, 86, 83, 81, 89, 88, 90, 93, 95, 90, 96, 104, 102, 107, 114, 111, 112, 104, 129, 99, 102, 115, 123, 113, 109, 115, 128, 103, 117, 129, 110, 121, 112, 125, 116, 117, 155, 120, 126, 125, 119, 129, 117, 137, 125, 122, 123, 135, 127, 150, 136, 144, 137, 131, 140, 137, 133, 132, 147, 147, 143, 174, 140, 153, 169, 163, 158, 179, 157, 152, 157, 161, 160, 175, 165, 155, 174, 169, 176, 178, 175, 176, 219, 217, 206, 170, 179, 177, 184, 184, 197, 198, 205, 182, 202, 213, 212, 185, 177, 222, 187, 228, 200, 201, 208, 210, 200, 234, 214, 206, 247, 227, 213, 248, 209, 216, 249, 216, 230, 237, 220, 263, 223, 211, 252, 230, 255, 256, 241, 231, 260, 227, 241, 264, 245, 268, 262, 259, 251, 262, 243, 252, 239, 287, 279, 256, 285, 271, 254, 284, 306, 266, 254, 292, 293, 307, 276, 280, 282, 302, 323, 292, 300, 330, 282, 320, 287, 286, 297, 296, 302, 309, 283, 300, 297, 300, 328, 328, 323, 333, 334, 328, 324, 301, 322, 373, 321, 325, 333, 337, 347, 340, 332, 335, 358, 328, 355, 330, 366, 389, 322, 349, 372, 354, 395, 384, 363, 388, 356, 353, 406, 412, 401, 354, 408, 393, 396, 391, 375, 391, 369, 372, 393, 423, 397, 358, 409, 423, 395, 423, 451, 418, 415, 411, 422, 420, 386, 456, 419, 438, 462, 404, 435, 456, 460, 458, 426, 437, 461, 409, 430, 480, 505, 470, 452, 494, 466, 482, 483, 447, 473, 454, 487, 466, 442, 529, 489, 470, 514, 484, 526, 498, 526, 487, 525, 488, 495, 500, 514, 538, 526, 538, 523, 525, 563, 551, 523, 566, 540, 516, 531, 550, 525, 524, 556, 606, 532, 520, 538, 535, 546, 572, 574, 565, 544, 588, 544, 593, 616, 536, 604, 592, 600, 575, 563, 571, 570]\n",
  262. "sizes = [1, 21, 41, 61, 81, 101, 121, 141, 161, 181, 201, 221, 241, 261, 281, 301, 321, 341, 361, 381, 401, 421, 441, 461, 481, 501, 521, 541, 561, 581, 601, 621, 641, 661, 681, 701, 721, 741, 761, 781, 801, 821, 841, 861, 881, 901, 921, 941, 961, 981, 1001, 1021, 1041, 1061, 1081, 1101, 1121, 1141, 1161, 1181, 1201, 1221, 1241, 1261, 1281, 1301, 1321, 1341, 1361, 1381, 1401, 1421, 1441, 1461, 1481, 1501, 1521, 1541, 1561, 1581, 1601, 1621, 1641, 1661, 1681, 1701, 1721, 1741, 1761, 1781, 1801, 1821, 1841, 1861, 1881, 1901, 1921, 1941, 1961, 1981, 2001, 2021, 2041, 2061, 2081, 2101, 2121, 2141, 2161, 2181, 2201, 2221, 2241, 2261, 2281, 2301, 2321, 2341, 2361, 2381, 2401, 2421, 2441, 2461, 2481, 2501, 2521, 2541, 2561, 2581, 2601, 2621, 2641, 2661, 2681, 2701, 2721, 2741, 2761, 2781, 2801, 2821, 2841, 2861, 2881, 2901, 2921, 2941, 2961, 2981, 3001, 3021, 3041, 3061, 3081, 3101, 3121, 3141, 3161, 3181, 3201, 3221, 3241, 3261, 3281, 3301, 3321, 3341, 3361, 3381, 3401, 3421, 3441, 3461, 3481, 3501, 3521, 3541, 3561, 3581, 3601, 3621, 3641, 3661, 3681, 3701, 3721, 3741, 3761, 3781, 3801, 3821, 3841, 3861, 3881, 3901, 3921, 3941, 3961, 3981, 4001, 4021, 4041, 4061, 4081, 4101, 4121, 4141, 4161, 4181, 4201, 4221, 4241, 4261, 4281, 4301, 4321, 4341, 4361, 4381, 4401, 4421, 4441, 4461, 4481, 4501, 4521, 4541, 4561, 4581, 4601, 4621, 4641, 4661, 4681, 4701, 4721, 4741, 4761, 4781, 4801, 4821, 4841, 4861, 4881, 4901, 4921, 4941, 4961, 4981, 5001, 5021, 5041, 5061, 5081, 5101, 5121, 5141, 5161, 5181, 5201, 5221, 5241, 5261, 5281, 5301, 5321, 5341, 5361, 5381, 5401, 5421, 5441, 5461, 5481, 5501, 5521, 5541, 5561, 5581, 5601, 5621, 5641, 5661, 5681, 5701, 5721, 5741, 5761, 5781, 5801, 5821, 5841, 5861, 5881, 5901, 5921, 5941, 5961, 5981, 6001, 6021, 6041, 6061, 6081, 6101, 6121, 6141, 6161, 6181, 6201, 6221, 6241, 6261, 6281, 6301, 6321, 6341, 6361, 6381, 6401, 6421, 6441, 6461, 6481, 6501, 6521, 6541, 6561, 6581, 6601, 6621, 6641, 6661, 6681, 6701, 6721, 6741, 6761, 6781, 6801, 6821, 6841, 6861, 6881, 6901, 6921, 6941, 6961, 6981, 7001, 7021, 7041, 7061, 7081, 7101, 7121, 7141, 7161, 7181, 7201, 7221, 7241, 7261, 7281, 7301, 7321, 7341, 7361, 7381, 7401, 7421, 7441, 7461, 7481, 7501, 7521, 7541, 7561, 7581, 7601, 7621, 7641, 7661, 7681, 7701, 7721, 7741, 7761, 7781, 7801, 7821, 7841, 7861, 7881, 7901, 7921, 7941, 7961, 7981, 8001, 8021, 8041, 8061, 8081, 8101, 8121, 8141, 8161, 8181, 8201, 8221, 8241, 8261, 8281, 8301, 8321, 8341, 8361, 8381, 8401, 8421, 8441, 8461, 8481, 8501, 8521, 8541, 8561, 8581, 8601, 8621, 8641, 8661, 8681, 8701, 8721, 8741, 8761, 8781, 8801, 8821, 8841, 8861, 8881, 8901, 8921, 8941, 8961, 8981, 9001, 9021, 9041, 9061, 9081, 9101, 9121, 9141, 9161, 9181, 9201, 9221, 9241, 9261, 9281, 9301, 9321, 9341, 9361, 9381, 9401, 9421, 9441, 9461, 9481, 9501, 9521, 9541, 9561, 9581, 9601, 9621, 9641, 9661, 9681, 9701, 9721, 9741, 9761, 9781, 9801, 9821, 9841, 9861, 9881, 9901, 9921, 9941, 9961, 9981]\n",
  263. "plot_result(single, threads, manager, streams, sizes, title='Complex Maths')"
  264. ]
  265. }
  266. ],
  267. "metadata": {
  268. "kernelspec": {
  269. "display_name": "Python 3",
  270. "language": "python",
  271. "name": "python3"
  272. },
  273. "language_info": {
  274. "codemirror_mode": {
  275. "name": "ipython",
  276. "version": 3
  277. },
  278. "file_extension": ".py",
  279. "mimetype": "text/x-python",
  280. "name": "python",
  281. "nbconvert_exporter": "python",
  282. "pygments_lexer": "ipython3",
  283. "version": "3.8.3"
  284. }
  285. },
  286. "nbformat": 4,
  287. "nbformat_minor": 4
  288. }