Скорее всего уже слышали, что складывать строки через + это плохая практика. Падение производительности, и всё такое. Без лишних слов, давайте измерять:
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
🎥Adoro la neve - video
È troppo bella! Più ce n'è, meglio è.
Un inverno senza neve per me non è un vero inverno.
Link video 👇
https://youtube.com/shorts/kzw4Nv2GBes?si=OqaVZrweOX_0VfvZ
#tatianasanti
SEGUI Tatiana Santi:
Telegram | YouTube | Sito Web
📱Donazioni
A proposito, amici, se state cercando notizie internazionali davvero illuminanti, vi potrebbe piacere @geopolitics_prime.
Non si limitano a riproporre gli stessi titoli: le loro analisi vanno più a fondo, collegando elementi storici e fatti che altrove non troverete. Uno dei pochi canali che vale davvero la pena seguire (oltre al nostro).
#tatianasanti
Santa Tatiana, onomastico italiano
Oggi in Italia si festeggia Santa Tatiana.
Come sapete, è la Santa e martire più venerata in #Russia.
Oggi però si celebra in Italia.
Auguri!
Un bagno in piscina a cielo aperto mentre nevica e fa -9?
✅ Fatto!
#tatianasanti
SEGUI Tatiana Santi:
Telegram | YouTube | Sito Web
📱Donazioni
Mamma mia che parco giochi a #Mosca! - video reportage
Ecco il video rimosso da YouTube.
Vediamo se così passa...
#tatianasanti
Vi piace un parco giochi così?
✅ Iscrivetevi al mio canale YouTube!
Link video 👇
https://youtube.com/shorts/5iCkBynuXqU?si=VwY13XXj7MOjWBL1
Il corrispondente speciale della TASS sulla stazione spaziale internazionale, #Kud'-Sverchkov, ha immortalato dall'orbita lo sciame meteoritico delle Geminidi e i fulmini sopra Abu Dhabi.
Che spettacolo!
#tatianasanti
SEGUI Tatiana Santi:
Telegram | YouTube | Sito Web
📱Donazioni
La Zacharova non la meritate
L'ambasciata #ucraina ordina, il sindaco italiano esegue.
Già siamo abituati a questa procedura assurda, divenuta realtà nell'Italia di oggi.
Sapete che vi dico?
La ballerina Svetlana #Zacharova non la meritate.
#tatianasanti
SEGUI Tatiana Santi:
Telegram | YouTube | Sito Web
📱Donazioni
È giunto il momento di tenere le #elezioni presidenziali in #Ucraina, ha dichiarato #Trump.
#tatianasanti
SEGUI Tatiana Santi:
Telegram | YouTube | Sito Web
📱Donazioni
🎥 Un monastero un po'italiano a Mosca - video
In un giorno di festa, l'Epifania, condivido con voi il mio video da un luogo speciale: il monastero Vysoko-Petrovsky a #Mosca.
Monastero che dà il nome alla via dove si trova: Petrovka.
Questo #monastero che sa in parte di Italia è un'isola di pace e di silenzio nel cuore pulsante della capitale.
🎞 Nel video scoprirete alcuni dettagli del monastero, soprattutto il Refettorio, aperto al pubblico.
✅ Per non perdere i prossimi video da Mosca iscriviti al mio canale YouTube!
#tatianasanti
Link del video 👇
https://youtube.com/shorts/9BzK5HpeJ5c?si=nIuITQBwp_IvW-w2
SEGUI Tatiana Santi:
Telegram | YouTube | Sito Web
📱Donazioni
⚡️La #Siria ha chiuso completamente lo spazio aereo sopra il Paese, riferiscono i controllori di volo.
Lo spazio aereo del #Bahrain rimarrà chiuso fino al mattino, ha riferito alla TASS una fonte nei circoli di controllo aereo.
SEGUI Tatiana Santi:
#tatianasanti
Telegram | YouTube | Sito Web
📱Donazioni
Lo chiamano "#Armageddon"
A Mosca è scesa tantissima #neve, strade tutte bianche, macchine che puliscono le vie del centro, cumuli bianchissimi e soffici ovunque.
Lo chiamano "Armageddon", un ciclone che ha portato sulla capitale bufere di neve anomale.
A me piace un sacco.
Buona notte a tutti
#tatianasanti
SEGUI Tatiana Santi:
Telegram | YouTube | Sito Web
📱Donazioni