Скорее всего уже слышали, что складывать строки через + это плохая практика. Падение производительности, и всё такое. Без лишних слов, давайте измерять:
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
"Образование, которое мы заслужили" - провокационное и запоминающееся название канала Миши Свердлова, CBDO Sky.pro, ex-контент директора Skyeng.
#lifelonglearning невозможен без понимания происходящего вокруг нас.
А тут и тренды, и кейсы лидеров индустрии, и новости, мысли, сложные и риторические вопросы образования. Много педдизайн в цифре и цифра в образовании.
Михаил тот еще технокарт от мира образования, который с командой Skyeng с помощью платформы, моделирования прогресса и рекомендательных систем смог поднять скорость освоения материала учениками в 2020 году на 25%! И вот отличная подборка про data-driven кейсы от топ EdTech компаний РФ и рассказ про кейс прогресса обучения в Skyeng.
На канале Образование, которое мы заслужилине только можно найти подборки, но и авторские материалы Миши. Подписывайтесь.
▪️Современное образование: что на самом деле должны давать профессиональные курсы
💥Анализ рынка образовательных экосистем в России: как это работает?
🤔Будущее образования: нано-дипломы, бизнес как вуз и искусственный интеллект как тьютор
🏛Школа будущего: как изменится среднее образование
🔥Как Skyeng меняет индустрию образовательного контента в стране
Кстати,на какие темы в образовательном поле вам было бы интересно узнать мое мнение? Принимаются заказы на материалы и разборы.
💪✨Despite facing the unexpected setback of a layoff, Ratnawaty remained steadfast in her pursuit of career goals.
It's your turn — explore the limitless world of #lifelonglearning and book a free consultation with a Skills Ambassador today: https://go.gov.sg/-ssg20231018tg
Про венозный доступ
Прошли в сентябре с коллегами продвинутый курс по венозному доступу.
Изучали протоколы скрининга вен, устанавливали picc-лайны, бровиаки, венозные порты, диализные катетеры, внутрикостные доступы.
Но дело не только в практике.
Узнали очень много нового про эксплуатацию, уход, менеджмент осложнений и выход из нештатных ситуаций.
Получили массу лайфхаков, инсайтов и tips&tricks из первых рук.
99% всей информации была на основе свежих гайдлайнов, подкрепленных примерами из личного опыта, в том числе примерами осложнений и нештатных ситуаций, что важнее всего в таких сложных процессах.
Разобрали их до мельчайших деталей. Осложнения неизбежно случаются и помогают становиться лучше, если их правильно отрефлексировать.
Гранд мерси Владиславу Владимировичу Щукину, Анастасии Владимировне Сацук и всем инструкторам за огненную неделю в Рогачевском центре🔥
Будем внедрять полученные знания и навыки в работу Центра и всей больницы – вместе с эпидемиологической службой уже разрабатываем внутренний протокол разрешения окклюзии катетеров.
Но самое крутое – это то, что после нашей обратной связи руководство приняло решение отправить на этот курс больше специалистов (врачей и медсестер), сталкивающихся с венозным доступом в ежедневной практике.
LLL
#lifelonglearning
📈 Are employers ready to navigate the shifting demands of the economy? Benjamin Chua, Founder & CEO of SPECO, shares an insightful roadmap on for navigating the evolution of the workforce with the Skills Demand for the Future Economy 2023/24 report.
Read more: https://go.gov.sg/20240108tg#SkillsFutureSG#lifelonglearning
🚢 From business graduate to manager in the Maritime industry, Kumaresh pursued a dream that sparked off during his internship. Book a free consultation with a Skills Ambassador today: https://go.gov.sg/ssg-20231113tg#SkillsFutureSG#lifelonglearning
SSG has signed an MOU with the Institute for Adult Learning Singapore and SUTD Singapore University of Technology & Design to drive cyber-physical learning in the fields of higher education and lifelong learning. The collaboration includes a joint Living Lab, which will allow the study of "live" interaction between the instructors and learners, and use the insights to develop andragogies, professional practices and educational innovations for adult educators and CET learners, leading to higher quality and relevant training for Singaporeans.
#SkillsFutureSG#lifelonglearning
A mid-career switch from worldwide travel to the tech and gaming world is unusual but for Nelly Lee, it was one of necessity. Read on to find out how she upskilled to pull it off 💪go.gov.sg/ssg-20240530tg
#SkillsFuture#Lifelonglearning
🎉 Big thanks to all who joined us the past 7 weeks at SkillsFuture Festival 2023! Let's continue to embrace #lifelonglearning and get ready to join us again next year for more knowledge, skills, and inspiration. 🌟📚
#SkillsFutureFestival#SkillsFutureSG
🚨 Final week alert! 🚨
SkillsFuture Festival 2023 is coming to a close, but the learning activities are as exciting as week 1 ⚡️.
Check out the full lineup here: go.gov.sg/sffest2023
#SkillsFutureFestival#SkillsFutureSG#lifelonglearning
🌟 Weekly Highlights Alert! 🌟 7-13 August: Embrace a week filled with empowering events and activities designed to supercharge your skills and ignite your career!
Check out the full lineup here: go.gov.sg/sffest2023
#SkillsFutureFestival#SkillsFutureSG#lifelonglearning
🌟 Weekly Highlights Alert! 🌟 From July 31st to August 6th, an incredible lineup of exclusive events and activities await you. Embrace the journey of lifelong learning with us!
Check out the full lineup here: go.gov.sg/sffest2023
#SkillsFutureFestival#SkillsFutureSG#lifelonglearning