Скорее всего уже слышали, что складывать строки через + это плохая практика. Падение производительности, и всё такое. Без лишних слов, давайте измерять:
from timeit import timeit
def t1():
# складываем 10 строк через + из переменной
t = 'text'
for _ in range(1000):
s = t + t + t + t + t + t + t + t + t
def t2():
# склеиваем список строк через метод join
arr = ['text'] * 10
for _ in range(1000):
s = ''.join(arr)
def t3():
# складываем через + но не из переменной а непосредственно инлайн объекты
for _ in range(1000):
s = 'text' + 'text' + 'text' + ... # всего 10 раз
Теперь каждую строку склейки запустим по 10М раз
>>> timeit(t1, number=10000)
0.21951690399964718
>>> timeit(t2, number=10000)
1.4978306379998685
>>> timeit(t3, number=10000)
0.2213820789993406
Хм, а нам говорили что через "+" это плохо и медленно ))) 😁
Тут стоит учитывать, что речь идёт о склейке множества длинных строк.
Давайте изменим условия:
def t4():
t = 'text'*100
for _ in range(1000):
s = t + t + t + t + t + t + t + t + t
def t5():
arr = ['text'*100] * 10
for _ in range(1000):
s = ''.join(arr)
def t6():
for _ in range(1000):
s = 'text'*100 + 'text'*100 + ... # всего 10 раз
>>> timeit(t4, number=10000)
12.795130728000004
>>> timeit(t5, number=10000)
2.642637542999182
>>> timeit(t6, number=10000)
0.2184546610005782
Вот, уже другой разговор, сразу видна разница, в среднем в 6 раз. Но погодите, почему последний тест t6() по скорости такой же как и t3()? Ведь строки теперь в 100 раз длиннее!
Это вопросы оптимизации кода, какие простые изменения ускоряют или замедляют выполнение программы. Мы столкнулись с примером обхода обращения к переменной. Например, именно так работает директива #define в С++, во время компиляции подставляя значение переменной вместо ссылки на неё.
В Python это тоже работает, но часто ли вы сможете встретить такой способ работы со строками? К сожалению, способ почти только теоретический.
В целом, тесты показали то, что мы хотели. Делаем выводы самостоятельно.
Полный листинг 🌍
#tricks
⌨Разработчики Duet Night Abyss анонсировали... клавиатуру
😍 Прошла трансляция разработчиков Duet Night Abyss, на которой они рассказали о нововведениях и анонсировали новые скины. В том числе, скин на оружие в виде клавиатуры.
😍 Новая версия игры выйдет 7 апреля.
😍 Промокоды с трансляции:
• THEGRANDINCENSERITE
• THEFIRMAMENTUNBOUND
• WILLBENEATHTHEWINGS
💬 Вместо решения проблем добавили пароль для блокировки предметов...
🤨 Не знаю даже, как это комментировать.
[Тег: #DNA]
😍 Больше в iNFO Daily
😍Duet Night Abyss снова взломали
😍 Помимо недавнего взлома серверов, хакеры воспользовались технической уязвимостью и внедрили в официальный клиент игры вредоносное ПО, похитившее личные данные игроков. Ходят слухи, что злоумышленники смогли взломать аккаунты в соцсетях (обойдя двухфакторную аутентификацию) и получить доступ к веб-камерам.
😍 Разработчики сообщили лишь о «проблемах со входом» и, внимание, выдали компенсацию в размере 100 валюты.
Для меня это уже не шутки. Это просто провал...
😰 У игры нет защиты и страдают реальные люди. Их аккаунты и данные под угрозой. Это просто ужасно.
[Тег: #DNA]
😍 Больше в iNFO Daily
❓Сервера Duet Night Abyss взломали?
😍 Сегодня пользователи keitaro_gg и sedum нашли способ менять получаемую валюту в промокодах на сотни тысяч, а по слухам — миллионы. Разработчики пока не могут отследить все изменения и исправить ситуацию.
Параллельно появляются новые промокоды с аномально высокими наградами. Делиться ими не собираюсь. Я не поддерживаю подобное.
Также ходят слухи, что у игры слабая защита. Данные о будущих обновлениях якобы уже в руках третьих лиц и постоянно сливаются.
💬 Репутация у игры и так печальная, а эта ситуация её окончательно добивает... Честно, я просто в шоке.
[Тег: #DNA]
😍 Больше в iNFO Daily
🧬 Новые днк-соответствия и список дальних родственников за эти выходные. А также персональные детали из области популяционной генетики, уточнения по здоровью, предрасположенность к синдромам и болезням, и куча другой информации.
А вы интересовались своим геномом? Может быть своим прошлым, молекулярной генеалогией или днк-тестами по медицине?
#dna#днк
#dna meme of the day
(Asking chatgpt how aryan a person is rather than using tools like g25 and qpAdm with appropriate modeling)
#мемдняДНК
(Спрашивать в чате, насколько "ариец" человек, вместо использования инструментов, таких как g25 и qpAdm, с соответствующим моделированием)
@illyrianometer
🌎 The quagga was a unique subspecies of the plains zebra, native to South Africa, with striped forequarters fading to brown at the back. Its sudden extinction in the late 19th century puzzled scientists for years, but recent DNA studies confirmed it was closely related to modern zebras, not a distinct species as once believed. ✨
#quagga⚡#extinction⚡#DNA
👉subscribe Interesting Planet
👉more Channels