Скорее всего уже слышали, что складывать строки через + это плохая практика. Падение производительности, и всё такое. Без лишних слов, давайте измерять:
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
Завтра. 24 мая. Пхукет.
Сообщите своим друзьям, отдыхающим/проживающим в Таиланде. Вход бесплатный.
ARTEM POPOFF – vocalist of the legendary band ILWT, creators of cult hits like «All Your Friends», «Infernal Women», and «Granny Valya Went Off the Rails, So Should You». He’s also half of the musical duo APPLY and, above all, a true gentleman. ARTEM will deliver a special DJ set at COURAGE, a new bar in Phuket Town.
Joining him: his longtime friend ERICK TRODLY, POPASUDA with his infectious blend of Bass, UKG, and Jamaican-rooted rhythms (yes, ILWT fans will recognize the name!), the return of LUTANG after a short break, and of course, F-WORD on deck as well.
And don’t miss the photo exhibition «Nothing Sacred» by Nikita Puzakov happening the same night upstairs in the very same venue.
The stars are aligned – be there.
SUB: UK GARAGE / BREAKS / BASS / 2-STEP / BASSLINE / BREAKBEAT / DUBSTEP / UK FUNKY
Lineup:
ARTEM POPOFF [ILWT / APPLY]
F-WORD [Bassrock Records]
ERICK TRODLY
POPASUDA
LUTANG
24 May, Saturday
Courage Bar | Phuket Town
G.Maps: https://maps.app.goo.gl/Ta2ZMLwcgrMKVjLa8
9 pm - late
FREE ENTRY
Facebook event: https://www.facebook.com/events/2123408598122380
#ukgarage#bassmusic#breaks#breakbeat#ilwt
После концерта распитие тайской бомбовой, хоровое пение, женский слэм и, возможно, исполнение сольных песен Артема.
Ждём Вас!
Oi oi massive🤙🤙🤙
ЭТО REWIND: WINTER SPECIAL🎅💨❄❄❄
20 декабря и всего на одну ночь бар @iemigro (Эмиграция) превратится в настоящий лондонский бейсмент, где наши селекторы бок о бок будут играть лучшие пластинки за 2025 год
UK Garage/ 2Step/ Breakbeat /Electro/ Jungle
Только чистый стиль и жирный бас, который расшевелит даже самых ленивых
За пультом парни, которые знают, как надо крутить пластинки:
🎧 BR SELECTA б2б FLAT б2б SLIDER б2б DMITRY V🎧
🗓 Дата: 20 декабря (суббота)
🕙 Старт: 22:00
📍 Локация: Бар «Эмиграция» Почтовый съезд, 3
#rewind_nn#ukgarage#2step#breakbeat#electro#jungle#nnov#party
Sarah Haras — Mirage (Chinabot, 2021)
#khaliji#idm#drone#breakbeat#dancehall#noise#post_industrial#concrete_music#granular_synthesis#Bahrain
Сара Харас ставит музыку на радио Ma3azef, а в своём творчестве пытается передать ощущение мира, каким оно открывается арабской женщине. Mirage — третий альбом Сары Харас, на котором она исследует музыку халиджи, добавляя в неё элементы брейкбит, дрона, нойза, постиндустриала, конкретной музыки и гранулярного синтеза. Фольклор халиджи, зародившийся в центральной и восточной Аравии, вобрал в себя культуру африканских мигрантов. Пение и барабаны халиджи во время праздников звучат по всему Бахрейну. Влияние традиции особенно заметно в треках Sahra и Mutated Samri, первый из которых основан на гипнотическом ритме, постепенно достигающем пика интенсивности. Mta Bnroo7 и Euphoria напоминают о порывах горячего воздуха, проносящихся над пустыней. А вот в Wish That I, наоборот, слышна клубная музыка Бахрейна и дэнсхолл.
🔗Spotify | AppleMusic | Bandcamp