Скорее всего уже слышали, что складывать строки через + это плохая практика. Падение производительности, и всё такое. Без лишних слов, давайте измерять:
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
Московское метро идеально на 99%, но…
Тот самый 1% из нью-йоркской подземки образца 1962 года: Джозеф Э. О'Грэйди, член транспортного управления Нью-Йорка (MTA), за барной стойкой в так называемом «вагоне мечты».
#cheers
В день рождения Веры Игнатьевны Мухиной обратимся к её работам из стекла под грифом #cheers, которые она создавала в экспериментальном цехе Ленинградского завода художественного стекла (ЛЗХС).
«Но самая большая ее любовь — стекло. Она была очарована его возможностями еще в молодости, когда любовалась витражами церкви Sainte Chapelle в Париже, изделиями стеклодувов Мурано. Потом это увлечение вспыхнуло в 1928 году, опять в Париже: увидев выставленную фирмой Лалика скульптуру из стекла, три дня ходила в магазин фирмы, купила стеклянного краба, разговаривала и с продавцами, и с мастерами, и с художниками, но секрета стеклянного литья так и не узнала», — О.П. Воронова, 1976.
Винный набор «Астра» из хрусталя, бокалы на забавных ножках с сочетанием бесцветного и окрашенного стекла, будто бы сделанная из лунного камня крюшонница — новое слово в советском художественном стеклоделии, сказанное героиней сегодняшнего дня.
📷 Русский музей
Обычно мысль полетать на воздушном шаре меня пугает, но не в этом случае — в начале недели в небо над Мельбурном поднялась «пробка» от Moët & Chandon в честь старта первого сезона чемпионата мира Формулы-1, официальными брызгами которого является шампанское Дома. #cheers!
📷 peter_van_alphen
Лингво-#cheers в эфире
В список моих любимых по звучанию и значению слов входит кутёж. Недавно узнала, что в переводе на английский это binge, например — 5 day drinking binge, то есть 5 дней кутежа.
И пока я преподаю основы кутежелогии, моя приятельница София, о которой я вам уже рассказывала, продолжает нетривиально учить людей английскому: через мемы (если вы не вышли замуж к 30, есть и хорошие новости) — и это несмотря на солидный бэкграунд и сертификат CELTA.
Как угрожать в стиле A$AP Rocky и проматывать деньги на богатом английском — знает @speakeasychannel
Обычно мысль полетать на воздушном шаре меня пугает, но не в этом случае — в начале недели в небо над Мельбурном поднялась «пробка» от Moët & Chandon в честь старта первого сезона чемпионата мира Формулы-1, официальными брызгами которого является шампанское Дома. #cheers!
📷 peter_van_alphen
С вами рубрика #cheers и платье в форме бутылки шампанского Veuve Clicquot.
Музей моды в Бате пишет, что костюм, вдохновлённый популярностью рекламных приёмов в одежде, был изготовлен для ирландской светской львицы Ады Пауэр в 1900-х: тёмно-зелёный бархат юбки имитирует стекло, этикетка отсылает к знаменитому шампанскому Дому, золотой лиф и объёмные рукава — к фольге и пузырькам, ну а шляпка изготовлена в форме пробки. Заверните!
📷 Fashion Museum Bath
Хочется превратить объединение друзей канала праздничным тегом #субъективныйвыбор в добрую традицию, поэтому встречайте новую подборку новогодних и не только хотелок от моих любимых авторов, которыми стоит пополнить свои вишлисты.
- Александр Рымкевич, эксперт мужского стиля и автор канала @lebonmot: «Поскольку я завершаю ремонт, то все мои идеальные подарки из числа предметов дизайна и декора. Давно засматриваюсь на этот табурет Alessi Poêle авторства Филиппа Старка. Вообще он вдохновлялся сковородкой, но мне в форме сиденья видится скорее металлическая плакетка на пробке для шампанского». #cheers!
- Владик, медалист дурного юмора (с) и автор канала о прекрасном @dlyarai: «Колье из хрустальной матовой гальки на красной вощеной нити с завязками. Не боится воды. Ama jewelry, молодой российский бренд. Подходит как м, так и ж».
- Александр Кулиш, путешественник со стажем и автор канала @Gtrotter: «В моем листе хотелок – несколько керамических плиток из серии Луи Бартелеми «Египтомания», которая выпущена британским брендом товаров для ванной Balineum. Я в восторге от того, что делает Бартелеми в разных форматах – вышивке, коврах, муралах, одежде, и вот теперь керамике. Ну а о Египте, тем более таком идеализированном, приятно думать зимой – согревает».
- Онлайн-журнал @myhandbook в лице его редактора Лены Алексеевой: «В моём личном виш-листе сыворотка для лица SS01 Secret Sauce бренда The Beauty Sandwich, созданного любимцем Голливуда и красивым человеком Иваном Полом. Уже 15 лет его руки подтягивают и скульптурируют самые известные лица по обе стороны Атлантики. Фирменная массажная процедура Ивана получила развитие в "соусах" из органических ингредиентов, которые, по его мнению, являются лучшим вкладом в долголетие кожи. Ну как не хотеть такой подарок под ёлочку?»
- Ульян Евтеев, автор канала про историю транспорта через призму моды и искусства @voyage_transport: «В Санкт-Петербурге есть мастерская "Красивое стекло", где делают красивейшие калейдоскопы. Выбор у них огромный, но мой фаворит – это, конечно, коллекция "Ретротранспорт"! Кстати, а вы знаете, что рассматривание чудо-трубы полезно для глаз и нервов? Так что, если хотите на Новый Год совместить приятное с полезным, – подумайте о калейдоскопах».
- Юра Скрелин, автор канала о модернизме в архитектуре и дизайне @midcenturymodern: «Мы к вам, как всегда, с книжными новинками об архитектуре. Через три года после выхода путеводителя по новейшей архитектуре Санкт-Петербурга наша добрая коллега Анна Мартовицкая в соавторстве с Юлией Шишаловой опубликовала аналогичный путеводитель по современным постройкам Москвы. Каждая из этих книг станет прекрасным подарком для любителей архитектуры, а обе - просто double rainbow, oh my God!»