Скорее всего уже слышали, что складывать строки через + это плохая практика. Падение производительности, и всё такое. Без лишних слов, давайте измерять:
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
Vaadat Charigim — The World Is Well Lost (Anova Music, 2013)
#shoegaze#dream_pop#Israel
The World Is Well Lost — дебютный альбом израильской шугейз-группы Vaadat Charigim, вышедший в 2013 году на лейблах Anova Music и Burger Records. Записанный в квартирах участников группы в Тель-Авиве, альбом был сведен и спродюсирован Кайлом «Слик» Джонсоном, который известен своими работами с Modest Mouse и Wavves. Несмотря на то, что этот альбом основан на звучании классических шугейз-групп, а также групп новой волны, типа DIIV и Wild Nothing, тот факт, что тексты исполнены на иврите, придает ему сильный ближневосточный колорит. Vaadat Charigim пропускают израильскую музыку через призму необычного для нее стиля и открывают ее с новой стороны.
Spotify | AppleMusic | Bandcamp | VK
nabeel (نبيل) — ghayoom (غيوم) (Self-Released, 2025)
#shoegaze#slowcore#dream_pop#Iraq#United_States
Ясир Разек — иракско-американский музыкант и преподаватель. Его семья покинула Ирак в поисках безопасности и осела в Вирджинии, когда Ясиру едва исполнился год. Взрослея в Штатах, Ясир увлёкся инди-культурой: слушал Эллиота Смита, бедрум-поп и шугейз. Позже, пытаясь восстановить связь с культурой своей родины, он начал изучать арабский язык в университете.
Долгое время Ясир искал способ соединить два полюса своей идентичности, арабский и американский. Так появился его проект nabeel (نبيل), редкий для Ближнего Востока пример альтернативной арабской музыки. Неожиданно он стал опорой для молодых людей из иракской диаспоры. Они нашли в nabeel подтверждение того, что арабская идентичность может быть разной и не обязана соответствовать стереотипам.
ghayoom — третий и, по словам Ясира, самый зрелый EP проекта. Здесь он окончательно нашёл свой голос и стиль. Этот релиз принес Ясиру широкое признание слушателей и внимание музыкальных изданий. Например, Wonderland в июле 2025 года назвало nabeel«одним из самых интригующих проектов на данный момент».
🔗Spotify | AppleMusic | Bandcamp | Telegram
Пограничное расстройство личности, интоксикация нежностью и разбитое на счастье сердце в новом альбоме тревожник-поп дуэта XRUSTALIC, который сделает их звездами.
Если не для масс, то хотя бы для всех музгиков (но это пока). Вот уже год Василиса Благовещенская под музыку Ильи Сосновского поет нам про то, что ты опять все испортил, а в ее комнате осень — радует, что трек «Borderline» и по совместительству главный хит группы вошел в «BED SCENES» (и даже клип появился, посмотрите), потому что еще один большой хит «B.Y.BYE», например, решили оставить за бортом. Но это уже становится фишкой дуэта — да, автор этих слов еще помнит песню «ELLIE ROCK REAL», а также то, что ее не было в дебютном релизе XRUSTALIC двухгодичной давности.
Ну и ладно, зато в «BED SCENES» появилась целостность — несмотря на абсолютно сумасшедшую эклектику из альт-попа, шугейза, гот-фолка, хип-хопа, электроники и блэк-метала (sic!), а также заявления музыкантов о неоднородности и нелинейности их песен, релиз имеет единую органичную палитру и очень даже ощутимую и понятную последовательность в повествовании. Как говорит пресс релиз, это самое повествование ведется от лица подушки, впитывающей самые стыдные и приятные ночные переживания — слезы, пот, кровь и рвоту. Никакой безопасной любви и душевного комфорта здесь нет, только психофизические недуги, нездоровая деструктивная привязанность и хардкор. А мы и рады, правда?
Мелодии XRUSTALIC одновременно сладкие и мрачные, как и образы в песнях, даже непонятно чего под такое хочется больше: любить или придушить. Василиса умеет петь по-разному — тревожный шепот, колыбельный бейби-войс, чистый-протяжный, ну, и истошные вопли-крики, везде круто и прямо в сердечко. Сравнивать XRUSTALIC ни с кем не хочется уже сейчас, верим, что дальше даже и мыслей таких не будет возникать. Да, настолько это свежо, харизматично и по-особенному.
XRUSTALIC — BED SCENES (2025)
#0107_album#alt_pop#shoegaze#electronic#black_metal
Слушать
Текст: Никита Рамон