Скорее всего уже слышали, что складывать строки через + это плохая практика. Падение производительности, и всё такое. Без лишних слов, давайте измерять:
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
🌎 The planet’s oldest living animal is the deep-sea quahog clam. One specimen, named Ming, lived to be 507 years old before being discovered near Iceland. ✨
#ocean⚡#longevity⚡#animals
👉subscribe Interesting Planet
🌍 Some of the world’s oldest lakes, like Lake Ohrid in Europe, have existed for more than one million years, preserving unique species found nowhere else on Earth. ✨
#lakes⚡#biodiversity⚡#longevity⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography
👉more Channels
🌎 In the Himalayan foothills, the Kalpavriksha, or “tree of heaven,” is a fig tree revered for living over 2,500 years. Its resilient roots stabilize soil and support hundreds of animal species, making it both a cultural icon and a pillar of its ecosystem. ✨
#botany⚡#longevity⚡#wildlife
👉subscribe Interesting Planet
🌎 The Welwitschia mirabilis, found only in the Namib Desert of Namibia and Angola, survives on coastal fog and can live over 1,500 years. Its two long leaves grow continuously, shredding into ribbons that cover the sand around the plant. ✨
#botany⚡#desert⚡#longevity
👉subscribe Interesting Planet
👉more Channels
🌎 In Namibia, the welwitschia mirabilis plant survives for over 1,000 years with just two leaves! These tough leaves grow nonstop, curling and splitting in the harsh desert. ✨
#botany⚡#desert⚡#longevity
👉subscribe Interesting Planet
🌎 Giant tortoises from the Galápagos and Aldabra islands are true living fossils. Their ancestors appeared over 40 million years ago, and some individuals today can live more than 150 years. ✨
#evolution⚡#reptiles⚡#longevity
👉subscribe Interesting Planet
👉more Channels
🌎 High in the Andes, the Yareta plant forms cushion-like mounds that can live for over 3,000 years. Its dense, bright-green surface helps conserve heat, allowing it to survive freezing mountain nights. ✨
#plants⚡#longevity⚡#mountains
👉subscribe Interesting Planet
🌎 The Pando aspen grove in Utah is a single living organism made up of 47,000 genetically identical trees, all connected by one massive underground root system. This silent giant is considered one of the world’s largest and oldest living things, possibly dating back 14,000 years. ✨
#trees⚡#biology⚡#longevity
👉subscribe Interesting Planet
🌎 The Californian coastal redwoods are the tallest living trees on Earth, soaring over 115 meters high. Their thick bark and tannins protect them from fire and insects, letting these giants live for thousands of years. ✨
#trees⚡#forest⚡#longevity
👉subscribe Interesting Planet
Jrnys Secures $8.65M Funding
Jrnys has raised $8.65 million to enhance personalized healthcare focused on weight loss solutions using GLP-1s like Zepbound, Mounjaro, Ozempic, and Wegovy. The company also addresses Sexual Wellness, Haircare, and Longevity needs.
#Funding#Healthcare#WeightLoss#GLP1#Zepbound#Mounjaro#Ozempic#Wegovy#SexualWellness#Haircare#Longevity
DeSci Gains Momentum Amid Innovation
Decentralized science (DeSci) is gaining traction with recent developments:
1️⃣Bio Protocol joins Binance Launchpool as the 69th project, focusing on decentralized science token launches. So far, 7 projects have raised $23M, with $7M allocated for research. More info here.
2️⃣Pump.science launches, allowing community-driven scientific experiments, starting with a longevity project. Their collaboration with Pulse will use health data metrics for future experiments. Learn more about Pump.science.
3️⃣ The Sci-Hub token has been introduced on pump.fun, providing access to scientific papers; the founder promotes purchasing the token to support open science. Token details here and Sci-Hub info here.
While still niche compared to AI and meme coins, DeSci is attracting interest, paving the way for wider community involvement. Let's observe how DeSci progresses into 2025!
#DeSci#BioProtocol#Binance#PumpScience#SciHub#Token#Research#Innovation#Web3#Community#HealthTech#Crypto#Launch#Investment#Experimentation#Longevity#OpenScience#Funding#Technology#Blockchain#Ethereum