Скорее всего уже слышали, что складывать строки через + это плохая практика. Падение производительности, и всё такое. Без лишних слов, давайте измерять:
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
'Okkupert', distopía noruega antirrusa
La serie que recomendamos hoy puede parecer muy actual, dado el clima de rusofobia que se respira en Occidente, y, sobre todo, en sus medios de comunicación: un país europeo es víctima de una invasión rusa.
La trama de 'Okkupert' ('Occupied') (2015-2020) comienza con la elección soberana del Gobierno noruego de renunciar a los combustibles fósiles en favor del torio y en ese momento, el guion da un giro distópico en el que Occidente, encabezado por la Unión Europea, da un golpe para que Oslo continúe bombeando petróleo y gas a sus socios y para ello utilizan a Rusia de ariete.
La UE obligará a Oslo a cumplir con el suministro, haciendo que Rusia ocupe el país y controle pozos y plataformas y se despliegue en el territorio. De esa forma comienza un sentir patriótico noruego para sacar a los rusos, aunque a lo largo de la serie queda claro que los enemigos son los europeos y los propios noruegos…
Cualquier parecido con la tensión actual es pura coincidencia…
En algunos países las 3 temporadas están disponibles en Netflix, Apple TV o Amazon Prime Video.
¿Por cierto creen que un escenario así podría darse y más cuando ha sido Noruega la que colaboró con la voladura del gasoducto Nord Stream, según un galardonado periodista estadounidense?
#Series
Síguenos si amas el cine y las series:
🎥Luces, cámara y ¡acción!
Короче
Я посмотрела 8 серий "Мыши" и я дропаю
Скучилищно и нелогично
А ещё персонаж, который мне единственный понравился, умер. В общем, я не поняла гениальности задумки
#Series@small_syzrann
Вчера досмотрела шестую серию "Мыши".
Могу сказать, что мне нравится, даже очень. Сюжет интересный, хотя мне немножко не хватает "вотэтоповоротов".
Плоттвист в конце шестой серии я предугадала, потому что как будто бы в целом это было ожидаемо, но всё равно интересно, как это будут разруливать дальше.
#Series@small_syzrann
Самое главное и самое часто употребляемое слово в "Триггере" это...щибаль, конечно же >DDD
Мне кажется, здесь это самое универсальное слово. Щибаль? Щибаль!
#Series@small_syzrann
Я так ждала "Дорогу личи", а она оказалась капец какой скучной. Смотрю 5ю серию и жду где будет роад стори. Потому что пока что тут дохуя неясные политические интриги, которые я без контекста не понимаю. А чтобы понимать контекст, нужно понимать период правления Тяньбао и чо там происходило. Пока что тут все пытаются друг друга подсидеть и сохранить свою жопу. И всё это ужасно муторно и скучно.
#Series
Блиать. Простите это очень смешно и очень черно
8 серия "Злого духа", девочки празднуют экзамен
Сэми: это злой дух велел тебе соблазнить Хонсэ?
Санён: а?
Сэми: Я дала шанс признаться, а ты не хочешь. Ты сидела рядом с ним и улыбалась вот так ☺️🤭 Затем припала к его плечу и прошептала что-то на ухо
Что в это время шептала Санён:
#series
Итак, я почти пришла в себя и начала смотреть "Личи Чанъаня" попутно с корейским "Злым духом".
По итогу первых полутора серий можно смело дать сериалу второе название "Сдохни или умри"
#series
Уже 11 лет прошло, а Марти и Раст все еще куда-то едут... >DDD
(Если вы не смотрели первый сезон "Настоящего детектива", то настоятельно советую посмотреть).
#series