It turns out that the generated bytecode is different between the two version and it is the root of the performance issue. Indeed, CPython 3.10 generates an INPLACE_ADD bytecode instruction while CPython 3.11 generates a BINARY_OP bytecode instruction.
❯ cat t.py
from time import time
b = bytearray()
t = time()
for i in range(1_000_000):
b += b'b'
print(time() - t)
s = str()
t = time()
for i in range(1_000_000):
s += 's'
print(time() - t)
❯ python3.8 t.py
0.06453704833984375
0.12097501754760742
❯ python3.9 t.py
0.050421953201293945
0.10408806800842285
❯ python3.10 t.py
0.04788088798522949
0.09204506874084473
❯ python3.11 t.py
0.05541682243347168
10.259689092636108
❯ python3.12 t.py
0.0602419376373291
9.597757816314697
❯ python3.13 t.py
0.07121491432189941
10.046982049942017
нет... вы не поняли, https работает по другому. Контент, который загружается через https никак не шифруется и не подписывается, а шифруется сам канал до сервера, и при этом у сервера есть сертификат совпадающий с его доменным именем.
И там в комментах активно интересуются, как это чудо система может кешировать ютуб без гугловских сертификатов. Но что-то авторы статьи не спешат на эти вопросы отвечать.
Ну вы же сами написали "Кеш сервер не работает по https"... Если вы знаете, что такое https, то вы должны знать что такое сертификат сервера и как он проверяется.
А в чем проблема ответить на незнакомый номер?
https://stackoverflow.com/questions/74605279/python-3-11-worse-optimized-than-3-10
Проверил с разными версиями питона, и такое поведение вижу на 3.8, 3.9 и 3.10, а 3.11, 3.12 и 3.13 уже выделяют новый id после каждой новой итерации
Запустил:
Каждая итерация новый id.
Python 3.13.1
У меня на компе первый цикл выполняется за 0.06 сек, второй за 9.5 сек
Так что разница по скорости не в два раза
Сравните время исполнения:
В первом случае изменяется переменная, во втором случае каждый раз создается новая.
Вы не поверите, но такая статья уже была :)
https://habr.com/ru/articles/766370/
А что вам не очевидно в http?
Не совсем так: гигабайт это 2^30 байт, а мегабит это 10^6 бит.
нет
У операторов есть услуга "голосовая почта". Чем не автоответчик?
А о чем была эта статья?
"Я проводил интервью и мне попался кандидат, который гуглил ответы на вопросы. А теперь подпишитесь на мой канал...."
Это в какой вселенной можно получить гражданство другой страны за два года?
Просто у него первое января это нулевой день, а не первый...
Интересно, а кто-нибудь, кто действительно пишет на питоне, а не просто пишет статьи про него на хабре, использует такое ограничение на длину строки?
нет... вы не поняли, https работает по другому. Контент, который загружается через https никак не шифруется и не подписывается, а шифруется сам канал до сервера, и при этом у сервера есть сертификат совпадающий с его доменным именем.
А вот и сама рекламная статья про DPI:
https://habr.com/ru/companies/vasexperts/articles/340846/
И там в комментах активно интересуются, как это чудо система может кешировать ютуб без гугловских сертификатов. Но что-то авторы статьи не спешат на эти вопросы отвечать.
Ну вы же сами написали "Кеш сервер не работает по https"... Если вы знаете, что такое https, то вы должны знать что такое сертификат сервера и как он проверяется.
ip адреса анонсируются по bgp, но клиент то все-равно на ютуб по https лезет. Как вы ему контент в https свой подсунете без сертификата сервера?