|
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
|
|||
Увеличиваем скорость Python и уменьшаем потребление памяти21.07.2022, 07:52. Показов 22965. Ответов 281
Метки нет (Все метки)
Если не учитывать, разные советы по увеличению скорости, например замена for на while, то предлагаю знающих людей высказаться, какая из библиотек для увеличения скорости выполнения кода им больше нравится или написать впечатления от тестирования какой-то из них. Также прошу посоветовать библиотеки по уменьшению расхода оперативной памяти, если они есть.
https://nuitka.net/posts/pytho... ndows.html https://nuitka.net/doc/download.html https://pypi.org/project/Nuitka/ https://github.com/Nuitka/Nuitka
======================================== ====== https://github.com/pyston/pyston/releases https://numba.pydata.org/numba... guide.html https://downloads.python.org/pypy/ https://cython.org/
0
|
|||
| 21.07.2022, 07:52 | |
|
Ответы с готовыми решениями:
281
Убираем циклы, увеличиваем скорость! +тесты Потребление памяти Потребление памяти |
| 01.08.2022, 18:19 | ||
|
Не по теме: Если отладка - это процесс удаления ошибок из кода, тогда программирование - это процесс добавления ошибок.
0
|
||
|
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
|
|
| 01.08.2022, 18:27 [ТС] | |
|
Если Вы пишете for в циклах, советуют заменить на while, если важна скорость кода. Что Вы думаете по этому поводу?
0
|
|
|
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
|
|
| 01.08.2022, 18:33 | |
|
Ясно, значит не исчерпана, продолжаем тратить своё и чужое время.
0
|
|
|
14364 / 9465 / 1360
Регистрация: 21.01.2016
Сообщений: 35,696
|
|
| 02.08.2022, 07:19 | |
|
supmener, а вы возьмите, да напишите два примера с for и while. И замерьте разницу.
Что вы думаете по этому поводу? Или звиздеть не форуме - не мешки ворочать? Зачем что-то проверять на практике, когда можно воздух сотрясать, да?
2
|
|
|
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
|
|
| 02.08.2022, 07:28 [ТС] | |
|
Если правильно понял, for используется там, где скорость выполнения не так нужна, а важно показать более читаемый код.
0
|
|
|
282 / 485 / 12
Регистрация: 21.06.2019
Сообщений: 3,020
|
||
| 02.08.2022, 07:40 | ||
|
1
|
||
|
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
|
|
| 02.08.2022, 07:53 [ТС] | |
|
Имею в виду оптимизацию скорости выполнения кода в самом Пайтоне, а не в сравнении с другими языками.
0
|
|
|
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
|
|||||||||||
| 02.08.2022, 11:01 [ТС] | |||||||||||
|
Постараюсь сейчас или сегодня написать.
Добавлено через 1 час 49 минут
0
|
|||||||||||
|
5184 / 1074 / 150
Регистрация: 29.01.2013
Сообщений: 6,258
|
|
| 02.08.2022, 11:16 | |
|
supmener, замечания:
1
|
|
|
14364 / 9465 / 1360
Регистрация: 21.01.2016
Сообщений: 35,696
|
|
| 02.08.2022, 11:28 | |
|
supmener, вы этим кодом тестируете производительность доступа к HDD\SDD, а не скорость работы операторов циклов.
3
|
|
|
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
|
|
| 02.08.2022, 11:29 [ТС] | |
|
from time import perf_counter
start = perf_counter() for i in range(100000000): a = 0 a = a + 1 end = perf_counter() print(end-start) # 7.589125200000126
0
|
|
|
14364 / 9465 / 1360
Регистрация: 21.01.2016
Сообщений: 35,696
|
||
| 02.08.2022, 11:30 | ||
for отношения оно не имеет.В результате имеем замеры от человека, который смутно представляет себе, что он замеряет и зачем...
0
|
||
|
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
|
||
| 02.08.2022, 11:35 [ТС] | ||
0
|
||
|
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
|
|
| 02.08.2022, 11:36 | |
|
supmener, иди в ассемблер, век воли не видать. Вот где вечно можно оптимизировать, рай, а не язык.
И скорость до небес, и места не занимает, и под любую архитектуру, и команд не так много, и лаконично! Загляденье!
0
|
|
|
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
|
||||||
| 02.08.2022, 11:43 [ТС] | ||||||
0
|
||||||
| 02.08.2022, 11:44 | |
|
Не по теме: iSmokeJC, и мы в ветке асма почти не мелькаем)))
0
|
|
| 02.08.2022, 11:47 | |
|
Не по теме: Alli_Lupin, именно!
0
|
|
|
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
|
|||||||
| 02.08.2022, 13:23 [ТС] | |||||||
|
В интернете есть примеры, как декомпилировать код Пайтон, используя
Добавлено через 1 час 23 минуты Пока что полностью не понял, что является новым синтаксисом Cython. На этой странице https://cython.readthedocs.io/... asses.html для фрагментов кода по две кнопки, при нажатии на которые синтаксис меняется. Перевод https://cython.readthedocs.io/... /pure.html
0
|
|||||||
|
14364 / 9465 / 1360
Регистрация: 21.01.2016
Сообщений: 35,696
|
||
| 02.08.2022, 14:07 | ||
|
Писать быстрый код - скил, который приходит после скила "писать рабочий код". Это уже вопрос более тонкой настройки своей писанины. Вы же ещё не способны написать даже очень медленный код. И понимания того, что вы тут ссылками приводите у вас нет и не выработается без практики. Или вы решили, что если прикинетесь столбом, который не понимает слов и не слышит советов, то рано или поздно вы добьётесь успеха? Типа, если долго биться головой об пол, то будет толк?)
0
|
||
| 02.08.2022, 14:07 | |
|
Потребление памяти Потребление памяти Потребление памяти Потребление памяти Потребление памяти Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Сезонность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет.
Но обычно это 50 лет и более.
Наверное, закисление почвы происходит сезонно в средней. . .
|
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
|
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS
Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
|
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи.
Через несколько переработок от PHP кода к C89 (надеюсь, 89).
Но довольно запутанно получилось. Код для Linux.
Но если убрать time и то, что с ним. . .
|
|
Сам себя обучал rest api
anaschu 02.07.2026
Педагогический лайфхак: Почему чистый REST API для ученика намного круче, чем готовые библиотеки
Когда мы отказались от капризного JAR-файла AnyLogic и переписали код на стандартный HttpClient,. . .
|
rest api anylogic - выполнение модели на своём русском сайте
anaschu 02.07.2026
Как подружиться с AnyLogic Cloud API, победить провайдеров и развернуться Java-бэкенд в Docker на бесплатном хостинге: Двухдневный лог борьбы
Всем привет! Хочу поделиться свежим (и довольно. . .
|
Где деньги лежат
kumehtar 02.07.2026
Это - японская подводная лодка I-52 (тип C2, кодовое имя Momi) вышла из Японии в марте 1944 года с миссией в оккупированную немцами Францию (Лорьян). Это была одна из «Янаги»-миссий по обмену. . .
|
Krabik для WoW 3.3.5a, многоязычный
AmbA 02.07.2026
Допилил бота, думаю что окончательно. Изменения:
- добавлена многоязычность
- добавлено снятие скриншотов
- добавлено поддержание бафов хождения по воде (для жреца, дк и шамана)
- и так, по. . .
|