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 слични објави

Пребарај: #vidcon

当前筛选 #vidcon清除筛选
🦅 [ perspective ix ]

@perspectiveix · Post #1359 · 26.06.2018 г., 12:00

📰#iXDailyBrief STAT ⚡️ The leading activity in apps is digital audio, with the average US adult listening to over 50 minutes of audio via mobile apps per day. Social networking is next, with 40 minutes of app time. The other major categories are mobile video, gaming and messaging. Of these five, gaming is growing most slowly. (Source: eMarketer) INSIGHT 📺 How brands are using #Instagram’s new long-form video feature, #IGTV: prs.pctvix.co/2yPgJAC OTHER NEWS 🇻🇪 Venezuela is blocking access to the Tor network: t.me/iXNews/28209 📱#iOS12 is all about making your phone work better (Public Beta Available Now): t.me/iXNews/28205 💰#VidCon’s new grant will award one emerging YouTuber $2,000 each week for a year: t.me/iXNews/28186 🐦#Twitter returns to #AppleWatch thanks to #Chirp: t.me/iXNews/28182 🇨🇳 John Oliver is erased from Chinese internet following segment on China: t.me/iXNews/28183 — ☕️ If you like our channel, please support us: prs.pctvix.co/2taiWBz — "Success is no accident. It is hard work, perseverance, learning, studying, sacrifice and most of all, love of what you are doing or learning to do." ― Pele Ben, @iXNews