Скорее всего уже слышали, что складывать строки через + это плохая практика. Падение производительности, и всё такое. Без лишних слов, давайте измерять:
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
🔤Углеводлар организмда ўзлаштирилишига қараб тез (содда молекулали) ва секин (мураккаб тузилишли) турларга бўлинади.
🧁Тез углеводлар, оддий углеводлар деб ҳам аталади, организмда жуда тез парчаланади ва тез сўрилади, қондаги қанд даражасини кескин оширади. Тез углеводларга мисоллар глюкоза, фруктоза, сахароза, малтоза ва лактозадир. Улар шакар, мураббо, асал, ширин мевалар (банан, узум, қовун), ширин ичимликлар ва турли пишириқларда кўп миқдорда учрайди (упаковкадаги кўп маҳсулотларда ҳам анчагина шакар бўлади).
🥦Мураккаб углеводлар деб ҳам аталадиган секин углеводлар секин сўрилади ва қондаги глюкоза даражасини аста-секин оширади. Секин углеводларга мисоллар клетчатка ва крахмал. Улар сабзавот, ширин бўлмаган мевалар, дуккаклилар, ёнғоқлар, уруғлар, бутун донли нон ва донларда кўп миқдорда сақланади.
🤒Кўп миқдорда тез углеводларни истеъмол қилиш қонда қанд ва инсулинни даражасини оширади, бу эса семириш, юрак касалликлари ва диабет ривожланиш хавфини ошириши мумкин. Шунинг учун ҳар хил турдаги углеводларни меёрида ва аралаш истеъмол қилишингиз керак.
🩺Doctor Ziyod | #nutrition#obesity
Latest Funding Rounds in AI and Tech
Recent funding highlights in AI and technology:
- Boon AI secured $15.50M on Dec 20, 2024. Learn more
- OpenLoop raised $15M on Dec 28, 2024. Learn more
- Emocog collected $14.98M on Dec 26, 2024, focusing on cognitive improvement digital therapeutics. Learn more
- Micro Optics raised $13.74M on Dec 13, 2024. Learn more
- Hengtuogao gathered $13.70M on Dec 30, 2024, specializing in integrated precision machinery. Learn more
- Tianhu Technology received $10M on Nov 15, 2024, as a leading AI protein design service in China. Learn more
- NitiNotes raised $9.30M on Dec 23, 2024, developing innovative treatments for obesity. Learn more
- WAJA secured $4.26M on Dec 31, 2024, focusing on regional economic development. Learn more
- Vetbiolix raised $4.23M on Dec 6, 2024, aiming at innovative pet health solutions. Learn more
- ChainOpera AI garnered $3.50M on Dec 26, 2024, working on blockchain solutions for decentralized AI apps. Learn more
These rounds highlight ongoing investment in AI, healthcare, pet care, and tech innovations.
#AI#Tech#Funding#Healthcare#Obesity#Decentralized#Blockchain#Innovation#CognitiveHealth#PetCare#Automation#ProteinDesign#DigitalTherapeutics#Economy#IndustrialSolutions#Hitech#Investment#Startup#VentureCapital#VC