Скорее всего уже слышали, что складывать строки через + это плохая практика. Падение производительности, и всё такое. Без лишних слов, давайте измерять:
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
#event
✅CABXPO Toshkent: Logistika sohasidagi Markaziy Osiyo biznes ko'rgazmasiga qo'shiling! 🌟
📅 26-27 dekabr
📍 Toshkent, O'zbekiston
🫥Tarmoqingizni kengaytiring: Sohaning eng yetakchilari va startaplar bilan bog'laning.
🫥Ma'lumot oling: Xavfsizlik, HR va xarajatlarni optimallashtirish bo'yicha eksklyuziv panellardan o'rganing.
🫥Imkoniyatlarni oching: Logistika va IT hamkorliklarini tadqiqot qiling.
🫥Eng zo'r iste'dodlarga ega bo'ling: Karyera yarmarkasida kerakli iste'dodlarni toping.
🫥Kelajakni shakllantiring: Markaziy Osiyoni global logistika markaziga aylantirish uchun kuchlarni birlashtiring.
🚀CABXPO Tashkent 2024 - bu sizning o'sish, innovatsiya va muvaffaqiyat sari yo'lingiz.
__
✅Join CABXPO Tashkent: Central Asian Business Expo in Logistics! 🌟
📅 December 26-27
📍Tashkent, Uzbekistan
🫥Expand Your Network: Connect with top industry leaders and startups.
🫥Gain Insights: Learn from exclusive panels on safety, HR, and cost optimization.
🫥Discover Opportunities: Explore partnerships in logistics and IT.
🫥Access Top Talent: Find matching professionals at the career fair.
🫥Shape the Future: Join efforts to make Central Asia a global logistics hub.
🚀CABXPO Tashkent 2024 is your gateway to growth, innovation, and success.
Telegram | Instagram | Facebook | Youtube | LinkedIn
сегодня в шоуруме guess прошла презентация новой коллекции ⭐️
нам рассказали про историю каждой модели, показали архивные вещи и в целом посвятили в философию бренда. очень интересно!
#event
neydo perfume & золотое яблоко 👩🏽🍳🍓
вчера прошло мероприятия водном из моих любимых ресторанов — лолита, где мы готовили десерт из безе с крем-чижом и свежей малиной, и знакомились с новыми ароматоми бренда <3
нам подарили креманки, фирменный фартук и шелковые маски для сна с нашими никами. одно из самых лучших мероприятий за последнее время 🧁
#event
очень крутое мероприятие сделали вчера arrive make up 🧈💛
особенно этот невероятный торт в конце, где мы все вместе задули свечки и весь вечер танцевали под коктейли <3
получилась мини репетиция нового года🪩✨#event
камерный ужин в честь коллаборации бренда kevin murphy и ресторана she 🍧✨
теперь при заказе любой позиции в ресторане she вы получаете подарок от бренда!
все коктейли и десерт разрабатывались, вдохновляюсь продуктами кевин мерфи и это очень ощущается. вкусно просто всё <3
#event
посетила сегодня мероприятие от дринкит совместно с пространством yogaspace // 🧘
попробовали новое меню от дринкит и побывали на йога практике вместе с саундхилингом <3
под такую осеннюю погоду самое то! ❤️
#event
агентство bubel устроили такой красивый бранч для своих инфлюенсеров // 🌟
обсудили реалии рынка, поговорили о рекламе и о том, что будем делать дальше. осенняя погода за окном располагала на американо и тот самый тирамису с инжиром из уже любимой афины <3
ну и не ушли без подарков от любимых darling. я фанат их масок для лица, они стабильно всегда лежат у меня в холодильнике 🌟
#event
#event
🚀Biznesdagi taraqqiyot shu yerdan boshlanadi: Angel Connect Hackathon!
O‘zbekistonda ilk bor “IT Park”, “U-Enter”, “Pro Business”, “AI Lab” va “Angel Connect” tashkilotlari hamkorligida o‘tkazilgan hakaton kelajakning sun’iy intellekt yechimlarini yaratish maqsadida tadbirkorlar, dasturchilar va investorlarni bir joyga to‘pladi.
- Sun’iy intellekt yordamida biznes jarayonlarini takomillashtiramiz
- 48 soatlik jadal ish
- 100 dan ortiq ishtirokchi, 20 dan ziyod investor, 20 dan ortiq mentor
📅 Sana: 28-fevral – 2-mart
📍 Manzil: U-Enter
Biznesni o‘zgartiradigan texnologiyalarni yarating! Chaqiriqni qabul qilishga tayyormisiz? 🔥
🌐 Ro‘yxatdan o‘tishga shoshiling: https://forms.gle/foqxDehbjcVqYvgd6
—
🚀Angel Connect Hackathon: Where Business Innovation Begins
For the first time in Uzbekistan, a hackathon organized by IT Park, U-Enter, Pro Business, AI Lab and Angel Connect, bringing together entrepreneurs, developers, and investors to create AI solutions of the future.
- AI-powered business process optimization
- 48 hours of intensive collaboration
- 100+ participants, 20+ investors, 20+ mentors
📅 Dates: February 28 – March 2
📍 Location: U-Enter
Develop technologies that transform business. Are you ready for the challenge?🔥
🌐 Hurry up to register: https://forms.gle/foqxDehbjcVqYvgd6
Telegram | Instagram | Facebook | Youtube | LinkedIn