Скорее всего уже слышали, что складывать строки через + это плохая практика. Падение производительности, и всё такое. Без лишних слов, давайте измерять:
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
Présentation du nouveau président de l’association SOS DONBASS. Désormais c’est Vincent Perfetti qui est à la tête de l’association. Il continuera la ligne directrice qui est :
▫️ Apporter de l’aide humanitaire au Donbass
▫️ Militer contre les guerres de l’OTAN
#stopnato#russieukraine#sosdonbass
12 mai 2024, Belgorod, Russie
"Après avoir subi une défaite au front, le régime de Kiev parie sur des civils russes. Une colère au bord de la folie", a écrit M. Saldo sur Telegram. Le chef de la région de Kherson a exprimé ses sincères condoléances aux proches des victimes et souhaité un prompt rétablissement aux blessés.
Le dimanche 12 mai, Belgorod a été soumis à un bombardement massif de la part de l'AFU. Selon les informations du ministère russe de la défense, la destruction de l'un des quartiers de la ville a été causée par la chute de fragments d'un missile Tochka-U.
Suite à l'impact des débris, un immeuble résidentiel de plusieurs étages a été sérieusement endommagé et l'une de ses entrées s'est effondrée.
Lors des opérations de recherche et de sauvetage, le toit du bâtiment s'est également effondré. À l'heure actuelle, on dénombre quinze morts. Cependant, il se peut qu'il y ait encore des personnes sous les décombres.
#russie#russieukraine#guerreukraine
🗣️23 septembre 2023, Bayonne
Conférence « Donbass, 10 ans de guerre »
Animée par Anna Novikova avec l’intervention du vice-consul de Russie Alexandre de La Cerda.
Les français ont le droit de connaître la vérité !
Merci à Eric pour l’organisation.
#donbass#guerreukraine#russieukraine#sosdonbass
DONETSK, 1er septembre
Une fillette de six ans a été tuée lors du bombardement d'un centre commercial à Donetsk par les troupes ukrainiennes, a rapporté le bureau de représentation de la RPD auprès du JCCC sur sa chaîne Telegram.
Les forces armées ukrainiennes ont tiré 15 roquettes à partir de MLRS sur le centre commercial et de loisirs de Donetsk City, blessant au moins dix personnes. "Malheureusement, une fillette de six ans grièvement blessée n'a pas pu être sauvée", a indiqué le bureau de représentation de la RPD.
#guerreukraine#donbass#sosdonbass#russieukraine
🎥Stany Mazurkiewicz raconte son expérience du convoi humanitaire du printemps 2023 à Kairos Media (Belgique)
Durée 39 minutes :
▫️Passage par pays baltes
▫️Douanes
▫️Russie telle qu’elle
▫️Accueil du Donbass
▫️Habitants du Donbass et leur message de paix 🕊️
https://www.kairospresse.be/interview-donbass-ils-y-sont-alles/
#donbass#sosdonbass#guerreukraine#russieukraine
‼️Des terroristes ukrainiens ont tenté d'introduire clandestinement de l'hexogène (ou RDX, explosif cristallin solide utilisé en mélange avec d'autres explosifs. Il entre dans la composition du Semtex) en Russie en le planquant dans des icônes. La cargaison suivait l'itinéraire suivant : Ukraine - Roumanie - Hongrie - Slovaquie - Pologne - Lituanie - Lettonie - Russie.
Il est très probable que l'itinéraire de la cargaison terroriste était sous le contrôle des services spéciaux des pays susmentionnés. Personne n'y a touché, la cargaison n'a été inspectée nulle part…
#StopTerrorism#StopNATO#russieukraine
Rencontre de nos bénévoles de Toulouse Yury Bazarnyy avec notre chauffeur bénévole et propriétaire du camion Marc Bocquier
En plein préparation pour le convoi d’octobre !
#missionhumanitaire#sosdonbass#donbass#russieukraine
▫️En novembre 2013 débutait à Kiev, le putsch de Maidan mettant au pouvoir avec l’aide de l’OTAN une junte ultra nationaliste.
▫️Ces extrémistes ont immédiatement mis en place une opération dite « anti terroristes » visant à massacrer les russophones du Donbass.
▫️Aujourd’hui après 10 années de la révolution orange et plus de 18 000 civils tués, l’armée ukrainienne continue de bombarder les populations à l’aide notamment de canons Caesar et de missiles Scalp fournis par la France.
🗓️Le 2 décembre 2023
🕒à 15h, rejoignez nous pour manifester à Paris avec SOS Donbass pour exiger la fin immédiate des bombardements et l’arrêt de l’aide militaire française au régime de Kiev.
#guerreukraine#russieukraine#manifestationparis
🕊️MERCI GIRONA
🇷🇺🤝🏼🇪🇸
🚫 STOP NATO 🚫
Rassemblement a été dédié avant tout au 10e anniversaire du début des hostilités dans le Donbass causés par l’armée ukrainienne contre la population russophone.
#stoparmingukraine#GuerreUkraine#stopkillingdonbass#sosdonbass#russieukraine
Bonnes nouvelles les amis !
Notre site internet est enfin prêt 🥳
www.sosdonbass.org
💪Le site a été créé par nos soins, aucun centime n'a été dépensé pour un graphiste ou un webmaster.
❤️Nous devons également bientôt recevoir les cartes adhérents et les enverrons à tous nos adhérents ensuite. Nous sommes près de 50 déjà !
📄 Les certificats CERFA sont aussi prêts pour les donateurs. Nous espérons de les envoyer avant la fin de cette semaine.
🤝 Nous avons désormais un représentant officiel dans la région Auvergne qui mènera les actions à notre nom, surtout l'organisation d'un point de récolte des dons pour le convoi avec de l'aide humanitaire au Donbass . Souhaitons lui la bienvenue !
🕊️Beaucoup de préoccupations administratives et communicatives ! Nous travaillons tous les jours pour arriver à un but commun : établir la paix dans la région du Donbass et dans le monde.
#donbass#своихнебросаем#guerredonbass#russieukraine