TGTGInsighttelegram intelligenceLIVE / telegram public index
← Python Заметки

TGINSIGHT SIMILAR POSTS

Најди сличен содржај

Изворен канал @pythonotes · Post #32 · 7 фев.

Скорее всего уже слышали, что складывать строки через + это плохая практика. Падение производительности, и всё такое. Без лишних слов, давайте измерять: 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

Резултати

Пронајдени 1 слични објави

Пребарај: #joyfulreunion

当前筛选 #joyfulreunion清除筛选

На просторах интернета поймала переводы двух новелл Фэйтянь Есяна (Fei Tian Ye Xiang / 非天夜翔) из одной вселенной, коими спешу с вами поделиться ✦ Радость встречи / Joyful Reunion / 相見歡 (2016, 228ch) jjwxc древнекитайский сеттинг, боевые искусства, драма Описание: Его звали Дуань Лин. Сколько себя помнил, он всегда был сыном из беднейшего рода. Уже в детстве он терпел множество лишений, пока человек по имени Лан Цзюнься не забрал его. Он накормил Дуань Лина, дал ему образование, новый дом, и обещал, что как только зацветут персиковые деревья, отец мальчика вернётся за ним. И отец вернулся. Он оказался гораздо удивительнее и могущественнее, чем мог представить Дуань Лин. Теперь мальчик не был безродным ублюдком без кола и двора. Целая империя должна была лежать у его ног. Но в неспокойные времена, когда во всех четырех концах света зажглись маяки войны, его отец сказал, что у каждого есть предначертанная ему судьба, и их судьба — это путь гуманного правления, вот почему они никогда не могли довольствоваться своим маленьким уголком мира. Им было суждено... нести ярость захваченной империи, терпеть боль утраты родины; жить так, как того требовала сама судьба. Оригинальный текст Полный английский перевод (foxghost) Русский перевод (онгоинг, wattpad Holylance, осталось где-то 40 частей) ✦ На горе есть деревья / O, the Mountains Have Trees / 山有木兮 (2020, 200ch) jjwxc древнекитайский сеттинг, боевые искусства, повседневность, приключения Описание: На горе есть деревья, на деревьях есть ветви. Я люблю его, но князь об этом не знает Княжество Юн направило лучшего убийцу Поднебесной, непревзойденного Гэн Юаня, дабы он сыграл на цине на встрече представителей четырех княжеств, которые решились выступить вместе в поход против Юн. Враги умылись кровью, и Поднебесная погрузилась в хаос, ускоривший падение императорского дома. Тревожные огни сигнальных башен заполыхали по всему Шэньчжоу. Спустя три года судьба свела вместе двух мальчиков необычного происхождения — Цзян Хэна и Гэн Шу. Шесть великих убийц наделили их удивительным мастерством, и дети вступили на трудный путь, ведущий к объединению Срединных земель. Горные пики оседают, в зимнем небе гремит гроза, небеса сливаются с землей - но за ушедшей весной приходит новая весна, снег все равно тает и уходит под землю, а персики цветут так же пышно, как и прежде... Оригинальный текст Английский перевод (онгоинг, Chickengege, доступны 103 главы) Русский перевод (онгоинг, wattpad Tatta2018 — переводчик Динхайских хроник) Арт к новелле "На горе есть деревья". Cr. 舟行绿水 #China#novel#FeiTianYeXiang#JoyfulReunion#ShanYouMuXi#список