From 087ba252961a76a5733a16dd811edecc94609ecb Mon Sep 17 00:00:00 2001 From: romcq Date: Fri, 3 Dec 2021 15:27:36 +0500 Subject: [PATCH 01/22] check --- TASK.md | 4 ++++ coin.py | 0 wiki.py | 0 3 files changed, 4 insertions(+) create mode 100644 TASK.md create mode 100644 coin.py create mode 100644 wiki.py diff --git a/TASK.md b/TASK.md new file mode 100644 index 0000000..8b32731 --- /dev/null +++ b/TASK.md @@ -0,0 +1,4 @@ +# Параллелизм и асинхронность + +### IO-bound. Проверяем ссылки на страницах Википедии + diff --git a/coin.py b/coin.py new file mode 100644 index 0000000..e69de29 diff --git a/wiki.py b/wiki.py new file mode 100644 index 0000000..e69de29 From e0c6e6f17639ce3bab26c0d0b67ceb60d03e9d6c Mon Sep 17 00:00:00 2001 From: Roman Pastukhov <71966352+romcq@users.noreply.github.com> Date: Fri, 3 Dec 2021 16:07:29 +0500 Subject: [PATCH 02/22] Update TASK.md --- TASK.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/TASK.md b/TASK.md index 8b32731..130566a 100644 --- a/TASK.md +++ b/TASK.md @@ -2,3 +2,15 @@ ### IO-bound. Проверяем ссылки на страницах Википедии +#### Время синхронной проверки ссылок +Код работал сек (примерно мин) + +### #Время с использованием ThreadPoolExecutor +* 5 воркеров: +*10 воркеров: +* 100 воркеров: + +### CPU-bound. Генерируем монетки +Результаты генерации 4х монет: +* + From 2d1ea91d8413e0fa2467a380ccb7abb0a7123751 Mon Sep 17 00:00:00 2001 From: Roman Pastukhov <71966352+romcq@users.noreply.github.com> Date: Fri, 3 Dec 2021 16:07:58 +0500 Subject: [PATCH 03/22] Update TASK.md --- TASK.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/TASK.md b/TASK.md index 130566a..4373cfa 100644 --- a/TASK.md +++ b/TASK.md @@ -1,16 +1,16 @@ # Параллелизм и асинхронность -### IO-bound. Проверяем ссылки на страницах Википедии +## IO-bound. Проверяем ссылки на страницах Википедии -#### Время синхронной проверки ссылок +### Время синхронной проверки ссылок Код работал сек (примерно мин) -### #Время с использованием ThreadPoolExecutor +## #Время с использованием ThreadPoolExecutor * 5 воркеров: *10 воркеров: * 100 воркеров: -### CPU-bound. Генерируем монетки +## CPU-bound. Генерируем монетки Результаты генерации 4х монет: * From 6cb886417f13bb9b1fc6aeba3da73ff9cbbe16ed Mon Sep 17 00:00:00 2001 From: Roman Pastukhov <71966352+romcq@users.noreply.github.com> Date: Fri, 3 Dec 2021 16:08:22 +0500 Subject: [PATCH 04/22] Update TASK.md --- TASK.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TASK.md b/TASK.md index 4373cfa..e644567 100644 --- a/TASK.md +++ b/TASK.md @@ -5,7 +5,7 @@ ### Время синхронной проверки ссылок Код работал сек (примерно мин) -## #Время с использованием ThreadPoolExecutor +### Время с использованием ThreadPoolExecutor * 5 воркеров: *10 воркеров: * 100 воркеров: From 662422e94cfbc2b3b48733113f476fb2dd0b05b0 Mon Sep 17 00:00:00 2001 From: Roman Pastukhov <71966352+romcq@users.noreply.github.com> Date: Fri, 3 Dec 2021 16:30:33 +0500 Subject: [PATCH 05/22] Update TASK.md --- TASK.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TASK.md b/TASK.md index e644567..9d25e44 100644 --- a/TASK.md +++ b/TASK.md @@ -3,7 +3,7 @@ ## IO-bound. Проверяем ссылки на страницах Википедии ### Время синхронной проверки ссылок -Код работал сек (примерно мин) +Код работал 1138.186 сек (примерно 19 мин) ### Время с использованием ThreadPoolExecutor * 5 воркеров: From 2cb5bf8dc7c18b76cded43f188ef5675c2c64bd1 Mon Sep 17 00:00:00 2001 From: romcq Date: Fri, 3 Dec 2021 16:31:43 +0500 Subject: [PATCH 06/22] check --- wiki.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/wiki.py b/wiki.py index e69de29..23e6758 100644 --- a/wiki.py +++ b/wiki.py @@ -0,0 +1,17 @@ +from urllib.request import Request, urlopen +from urllib.parse import unquote + +links = open('res.txt', encoding='utf8').read().split('\n') + +for url in links: + try: + request = Request( + url, + headers={'User-Agent': 'Mozilla/5.0 (Windows NT 9.0; Win65; x64; rv:97.0) Gecko/20105107 Firefox/92.0'}, + ) + resp = urlopen(request, timeout=5) + code = resp.code + print(code) + resp.close() + except Exception as e: + print(url, e) \ No newline at end of file From f0696e9393b80f5e2712a9c8cd59144088f0b4fe Mon Sep 17 00:00:00 2001 From: Roman Pastukhov <71966352+romcq@users.noreply.github.com> Date: Fri, 3 Dec 2021 16:51:05 +0500 Subject: [PATCH 07/22] Update TASK.md --- TASK.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/TASK.md b/TASK.md index 9d25e44..3c19e5c 100644 --- a/TASK.md +++ b/TASK.md @@ -5,6 +5,12 @@ ### Время синхронной проверки ссылок Код работал 1138.186 сек (примерно 19 мин) +![pycharm64_NjegmZMtgV](https://user-images.githubusercontent.com/71966352/144598004-de47fed4-c985-4502-8794-782915a9ca86.png) + + +![pycharm64_Nxc8G5ntQc](https://user-images.githubusercontent.com/71966352/144597954-ba487f4e-ee09-4f61-be4d-b17398240559.png) + + ### Время с использованием ThreadPoolExecutor * 5 воркеров: *10 воркеров: From c7aa1ef05477b99c3a3d2a53bd3c4319e894eb99 Mon Sep 17 00:00:00 2001 From: Roman Pastukhov <71966352+romcq@users.noreply.github.com> Date: Fri, 3 Dec 2021 18:35:31 +0500 Subject: [PATCH 08/22] Update TASK.md --- TASK.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/TASK.md b/TASK.md index 3c19e5c..5ea0128 100644 --- a/TASK.md +++ b/TASK.md @@ -10,6 +10,9 @@ ![pycharm64_Nxc8G5ntQc](https://user-images.githubusercontent.com/71966352/144597954-ba487f4e-ee09-4f61-be4d-b17398240559.png) +![image](https://user-images.githubusercontent.com/71966352/144611122-a43283d6-00a0-4a72-9e7f-8724e5dfe242.png) + + ### Время с использованием ThreadPoolExecutor * 5 воркеров: From ed052ed711b97652174de01782032b3f38534904 Mon Sep 17 00:00:00 2001 From: Roman Pastukhov <71966352+romcq@users.noreply.github.com> Date: Fri, 3 Dec 2021 18:36:02 +0500 Subject: [PATCH 09/22] Update TASK.md --- TASK.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TASK.md b/TASK.md index 5ea0128..d10c89c 100644 --- a/TASK.md +++ b/TASK.md @@ -14,7 +14,7 @@ -### Время с использованием ThreadPoolExecutor +### Переписанный код с использованием ThreadPoolExecutor * 5 воркеров: *10 воркеров: * 100 воркеров: From 129aa799f3047cf771000b3834323e8c1748a150 Mon Sep 17 00:00:00 2001 From: Roman Pastukhov <71966352+romcq@users.noreply.github.com> Date: Fri, 3 Dec 2021 18:39:19 +0500 Subject: [PATCH 10/22] Update TASK.md --- TASK.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/TASK.md b/TASK.md index d10c89c..4fe7aa1 100644 --- a/TASK.md +++ b/TASK.md @@ -7,15 +7,15 @@ ![pycharm64_NjegmZMtgV](https://user-images.githubusercontent.com/71966352/144598004-de47fed4-c985-4502-8794-782915a9ca86.png) - ![pycharm64_Nxc8G5ntQc](https://user-images.githubusercontent.com/71966352/144597954-ba487f4e-ee09-4f61-be4d-b17398240559.png) -![image](https://user-images.githubusercontent.com/71966352/144611122-a43283d6-00a0-4a72-9e7f-8724e5dfe242.png) +### Переписанный код с использованием ThreadPoolExecutor +* 5 воркеров: -### Переписанный код с использованием ThreadPoolExecutor -* 5 воркеров: +![image](https://user-images.githubusercontent.com/71966352/144611122-a43283d6-00a0-4a72-9e7f-8724e5dfe242.png) + *10 воркеров: * 100 воркеров: From a131dc541d460c814b0e3df8fc3ed0b0edf3d77a Mon Sep 17 00:00:00 2001 From: Roman Pastukhov <71966352+romcq@users.noreply.github.com> Date: Fri, 3 Dec 2021 18:40:07 +0500 Subject: [PATCH 11/22] Update TASK.md --- TASK.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/TASK.md b/TASK.md index 4fe7aa1..4a16c30 100644 --- a/TASK.md +++ b/TASK.md @@ -16,7 +16,9 @@ ![image](https://user-images.githubusercontent.com/71966352/144611122-a43283d6-00a0-4a72-9e7f-8724e5dfe242.png) -*10 воркеров: +* 10 воркеров: + + * 100 воркеров: ## CPU-bound. Генерируем монетки From cf88f73ccfc7d1f52c5ec95b73cc6931348a6064 Mon Sep 17 00:00:00 2001 From: Roman Pastukhov <71966352+romcq@users.noreply.github.com> Date: Fri, 3 Dec 2021 18:54:51 +0500 Subject: [PATCH 12/22] Update TASK.md --- TASK.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/TASK.md b/TASK.md index 4a16c30..bc353a7 100644 --- a/TASK.md +++ b/TASK.md @@ -9,6 +9,9 @@ ![pycharm64_Nxc8G5ntQc](https://user-images.githubusercontent.com/71966352/144597954-ba487f4e-ee09-4f61-be4d-b17398240559.png) +![image](https://user-images.githubusercontent.com/71966352/144613993-ae72de29-e4b5-4999-8684-bb5becab40b8.png) + + ### Переписанный код с использованием ThreadPoolExecutor * 5 воркеров: From e446d78d948ecb645bf65b9864025e40e7602e92 Mon Sep 17 00:00:00 2001 From: Roman Pastukhov <71966352+romcq@users.noreply.github.com> Date: Fri, 3 Dec 2021 19:08:59 +0500 Subject: [PATCH 13/22] Update TASK.md --- TASK.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/TASK.md b/TASK.md index bc353a7..c446352 100644 --- a/TASK.md +++ b/TASK.md @@ -15,12 +15,17 @@ ### Переписанный код с использованием ThreadPoolExecutor * 5 воркеров: +![pycharm64_gcxRgME96u](https://user-images.githubusercontent.com/71966352/144615412-3efdd4f3-a696-4ef6-94e4-74c6a939401b.png) ![image](https://user-images.githubusercontent.com/71966352/144611122-a43283d6-00a0-4a72-9e7f-8724e5dfe242.png) * 10 воркеров: +![pycharm64_1u4pexaSkf](https://user-images.githubusercontent.com/71966352/144616015-1e000a1b-887f-41e6-84e8-200bc3d21e01.png) + + +![image](https://user-images.githubusercontent.com/71966352/144615896-83ed8dd4-07f0-4e5c-8413-1e82b0d96410.png) * 100 воркеров: From ff1a0b9eb524746e0cd179b633e901351d22aa10 Mon Sep 17 00:00:00 2001 From: Roman Pastukhov <71966352+romcq@users.noreply.github.com> Date: Fri, 3 Dec 2021 19:12:25 +0500 Subject: [PATCH 14/22] Update TASK.md --- TASK.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/TASK.md b/TASK.md index c446352..449de2f 100644 --- a/TASK.md +++ b/TASK.md @@ -29,6 +29,13 @@ * 100 воркеров: +![pycharm64_zGmQ2kco6C](https://user-images.githubusercontent.com/71966352/144616510-12d82dde-b222-442d-954c-ba6cc468a9fb.png) + +![image](https://user-images.githubusercontent.com/71966352/144616207-17ee7252-7143-41ed-8da3-bc6c44b8325f.png) + +![image](https://user-images.githubusercontent.com/71966352/144616385-74d1c6b4-6047-4fb6-92a0-948f75afeb29.png) + + ## CPU-bound. Генерируем монетки Результаты генерации 4х монет: * From a479a06f7ec13beb681f748e887d23059a0eeee5 Mon Sep 17 00:00:00 2001 From: Roman Pastukhov <71966352+romcq@users.noreply.github.com> Date: Fri, 3 Dec 2021 19:17:03 +0500 Subject: [PATCH 15/22] Update TASK.md --- TASK.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/TASK.md b/TASK.md index 449de2f..b27189f 100644 --- a/TASK.md +++ b/TASK.md @@ -35,6 +35,8 @@ ![image](https://user-images.githubusercontent.com/71966352/144616385-74d1c6b4-6047-4fb6-92a0-948f75afeb29.png) +### Итог +Незначительно возрастает использование памяти и процессора (хотя есть моменты, когда использование значительно возрастает). Сильно уменьшается время выполнения. ## CPU-bound. Генерируем монетки Результаты генерации 4х монет: From 2bcbe5fa8b80411329a981f5a2ed82e1964100ae Mon Sep 17 00:00:00 2001 From: Roman Pastukhov <71966352+romcq@users.noreply.github.com> Date: Fri, 3 Dec 2021 21:18:15 +0500 Subject: [PATCH 16/22] Update TASK.md --- TASK.md | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/TASK.md b/TASK.md index b27189f..3b68fb2 100644 --- a/TASK.md +++ b/TASK.md @@ -39,6 +39,15 @@ Незначительно возрастает использование памяти и процессора (хотя есть моменты, когда использование значительно возрастает). Сильно уменьшается время выполнения. ## CPU-bound. Генерируем монетки -Результаты генерации 4х монет: -* +* На 1 ядре: + +![image](https://user-images.githubusercontent.com/71966352/144634084-e57d7454-0767-4318-9198-6b5b1ff3c9cc.png) + +![image](https://user-images.githubusercontent.com/71966352/144617966-950feb05-d238-4111-a021-9865e4da4a79.pn + +* 2 воркера: +* 4 воркера: +* 5 воркеров: +* 10 воркеров: +* 100 воркеров: From 9a24ee2a3f192dc79c6d5ecb47d36b71f9fd9ab6 Mon Sep 17 00:00:00 2001 From: Roman Pastukhov <71966352+romcq@users.noreply.github.com> Date: Fri, 3 Dec 2021 21:18:49 +0500 Subject: [PATCH 17/22] Update TASK.md --- TASK.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TASK.md b/TASK.md index 3b68fb2..6dd1ec4 100644 --- a/TASK.md +++ b/TASK.md @@ -44,7 +44,7 @@ ![image](https://user-images.githubusercontent.com/71966352/144634084-e57d7454-0767-4318-9198-6b5b1ff3c9cc.png) -![image](https://user-images.githubusercontent.com/71966352/144617966-950feb05-d238-4111-a021-9865e4da4a79.pn +![image](https://user-images.githubusercontent.com/71966352/144617966-950feb05-d238-4111-a021-9865e4da4a79.png) * 2 воркера: * 4 воркера: From a1e10ceb9d54f004088f9cbae49006d096e6f560 Mon Sep 17 00:00:00 2001 From: Roman Pastukhov <71966352+romcq@users.noreply.github.com> Date: Fri, 3 Dec 2021 21:21:08 +0500 Subject: [PATCH 18/22] Update TASK.md --- TASK.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/TASK.md b/TASK.md index 6dd1ec4..1a10cca 100644 --- a/TASK.md +++ b/TASK.md @@ -47,6 +47,9 @@ ![image](https://user-images.githubusercontent.com/71966352/144617966-950feb05-d238-4111-a021-9865e4da4a79.png) * 2 воркера: + +![image](https://user-images.githubusercontent.com/71966352/144636443-b485bec4-d4cf-4d45-8dde-68a586ffd7e7.png) + * 4 воркера: * 5 воркеров: * 10 воркеров: From a298e101239293299cc7a32031fe5a33641586cc Mon Sep 17 00:00:00 2001 From: Roman Pastukhov <71966352+romcq@users.noreply.github.com> Date: Fri, 3 Dec 2021 21:22:31 +0500 Subject: [PATCH 19/22] Update TASK.md --- TASK.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/TASK.md b/TASK.md index 1a10cca..3121583 100644 --- a/TASK.md +++ b/TASK.md @@ -5,8 +5,6 @@ ### Время синхронной проверки ссылок Код работал 1138.186 сек (примерно 19 мин) -![pycharm64_NjegmZMtgV](https://user-images.githubusercontent.com/71966352/144598004-de47fed4-c985-4502-8794-782915a9ca86.png) - ![pycharm64_Nxc8G5ntQc](https://user-images.githubusercontent.com/71966352/144597954-ba487f4e-ee09-4f61-be4d-b17398240559.png) ![image](https://user-images.githubusercontent.com/71966352/144613993-ae72de29-e4b5-4999-8684-bb5becab40b8.png) From 0b247286ad67a4b94281052e9c372981676f1a19 Mon Sep 17 00:00:00 2001 From: Roman Pastukhov <71966352+romcq@users.noreply.github.com> Date: Fri, 3 Dec 2021 21:31:12 +0500 Subject: [PATCH 20/22] Update TASK.md --- TASK.md | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/TASK.md b/TASK.md index 3121583..8ef3e0f 100644 --- a/TASK.md +++ b/TASK.md @@ -5,30 +5,47 @@ ### Время синхронной проверки ссылок Код работал 1138.186 сек (примерно 19 мин) +Время выполнения: + ![pycharm64_Nxc8G5ntQc](https://user-images.githubusercontent.com/71966352/144597954-ba487f4e-ee09-4f61-be4d-b17398240559.png) +Диспечер задач: + ![image](https://user-images.githubusercontent.com/71966352/144613993-ae72de29-e4b5-4999-8684-bb5becab40b8.png) ### Переписанный код с использованием ThreadPoolExecutor * 5 воркеров: + +Время выполнения: + + ![pycharm64_gcxRgME96u](https://user-images.githubusercontent.com/71966352/144615412-3efdd4f3-a696-4ef6-94e4-74c6a939401b.png) +Диспечер задач: ![image](https://user-images.githubusercontent.com/71966352/144611122-a43283d6-00a0-4a72-9e7f-8724e5dfe242.png) * 10 воркеров: + +Время выполнения: + ![pycharm64_1u4pexaSkf](https://user-images.githubusercontent.com/71966352/144616015-1e000a1b-887f-41e6-84e8-200bc3d21e01.png) +Диспечер задач: ![image](https://user-images.githubusercontent.com/71966352/144615896-83ed8dd4-07f0-4e5c-8413-1e82b0d96410.png) * 100 воркеров: +Время выполнения: + ![pycharm64_zGmQ2kco6C](https://user-images.githubusercontent.com/71966352/144616510-12d82dde-b222-442d-954c-ba6cc468a9fb.png) +Диспечер задач: + ![image](https://user-images.githubusercontent.com/71966352/144616207-17ee7252-7143-41ed-8da3-bc6c44b8325f.png) ![image](https://user-images.githubusercontent.com/71966352/144616385-74d1c6b4-6047-4fb6-92a0-948f75afeb29.png) @@ -40,15 +57,48 @@ * На 1 ядре: +Время выполнения: + ![image](https://user-images.githubusercontent.com/71966352/144634084-e57d7454-0767-4318-9198-6b5b1ff3c9cc.png) +Диспечер задач: + ![image](https://user-images.githubusercontent.com/71966352/144617966-950feb05-d238-4111-a021-9865e4da4a79.png) * 2 воркера: +Время выполнения: + +![pycharm64_d5fwwVYron](https://user-images.githubusercontent.com/71966352/144637790-9aa9f33f-9367-4222-947e-51870c0bf068.png) + +Диспечер задач: + ![image](https://user-images.githubusercontent.com/71966352/144636443-b485bec4-d4cf-4d45-8dde-68a586ffd7e7.png) * 4 воркера: + +Время выполнения: + +![pycharm64_OhPOzNhdGw](https://user-images.githubusercontent.com/71966352/144638055-46eb16d5-0d05-445c-a003-eff103378587.png) + +Диспечер задач: + +![image](https://user-images.githubusercontent.com/71966352/144638089-f0eabf39-516b-4fe1-bcfa-13a5c829254a.png) + * 5 воркеров: + +Время выполнения: + +Диспечер задач: + * 10 воркеров: + +Время выполнения: + +Диспечер задач: + * 100 воркеров: + +Время выполнения: + +Диспечер задач: From e0ef8b894cc6fcf65be0d0a35a4a099ab5ee8153 Mon Sep 17 00:00:00 2001 From: Roman Pastukhov <71966352+romcq@users.noreply.github.com> Date: Fri, 3 Dec 2021 21:41:31 +0500 Subject: [PATCH 21/22] Update TASK.md --- TASK.md | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/TASK.md b/TASK.md index 8ef3e0f..5dde899 100644 --- a/TASK.md +++ b/TASK.md @@ -89,16 +89,22 @@ Время выполнения: +![pycharm64_cAoGwoVQO0](https://user-images.githubusercontent.com/71966352/144638915-6a9fe54c-e2b8-450c-b8b7-55ccf938f681.png) + Диспечер задач: +![image](https://user-images.githubusercontent.com/71966352/144638355-0a746f22-bb5d-45cf-807e-45063dc6dc6a.png) + * 10 воркеров: Время выполнения: +![pycharm64_0f3SygPHWP](https://user-images.githubusercontent.com/71966352/144639238-0a03e0b9-599a-4d51-b205-2f4a0a3ab516.png) + Диспечер задач: -* 100 воркеров: +![image](https://user-images.githubusercontent.com/71966352/144639176-449f6c6a-9966-4c99-85e5-a4be4db0af9a.png) -Время выполнения: +* 100 воркеров: -Диспечер задач: +![pycharm64_bdHU9J1ppN5](https://user-images.githubusercontent.com/71966352/144639547-e7c8add8-f8f7-4e0e-b6ee-df2d8b04d350.png) From d6cdf4ad2d43da0574b316fdda2879e5c1adaf33 Mon Sep 17 00:00:00 2001 From: romcq Date: Fri, 3 Dec 2021 21:42:19 +0500 Subject: [PATCH 22/22] task --- coin.py | 26 ++++++++++++++++++++++++++ wiki.py | 31 ++++++++++++++++++------------- 2 files changed, 44 insertions(+), 13 deletions(-) diff --git a/coin.py b/coin.py index e69de29..0737dd7 100644 --- a/coin.py +++ b/coin.py @@ -0,0 +1,26 @@ +from hashlib import md5 +from random import choice +import concurrent.futures +from time import time + + +def is_prime(n): + while True: + s = "".join([choice("0123456789") for i in range(50)]) + h = md5(s.encode('utf8')).hexdigest() + + if h.endswith("00000"): + return s + ',' + h + + +def main(): + with concurrent.futures.ProcessPoolExecutor(max_workers=100) as executor: + for answer in zip(executor.map(is_prime, range(3))): + print(answer) + + +if __name__ == '__main__': + time1 = time() + main() + time2 = time() + print(time2 - time1) \ No newline at end of file diff --git a/wiki.py b/wiki.py index 23e6758..f132516 100644 --- a/wiki.py +++ b/wiki.py @@ -1,17 +1,22 @@ -from urllib.request import Request, urlopen +import urllib.request from urllib.parse import unquote +import concurrent.futures links = open('res.txt', encoding='utf8').read().split('\n') -for url in links: - try: - request = Request( - url, - headers={'User-Agent': 'Mozilla/5.0 (Windows NT 9.0; Win65; x64; rv:97.0) Gecko/20105107 Firefox/92.0'}, - ) - resp = urlopen(request, timeout=5) - code = resp.code - print(code) - resp.close() - except Exception as e: - print(url, e) \ No newline at end of file + +def load_url(link, timeout): + with urllib.request.urlopen(link, timeout=timeout) as conn: + return conn.code + + +with concurrent.futures.ThreadPoolExecutor(max_workers=100) as executor: + future_to_url = {executor.submit(load_url, url, 5): url for url in links} + for future in concurrent.futures.as_completed(future_to_url): + url = future_to_url[future] + try: + data = future.result() + except Exception as e: + print('%r exception: %s' % (url, e)) + else: + print(data) \ No newline at end of file