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

Резултати

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

Пребарај: #wantthis

当前筛选 #wantthis清除筛选

#转发#WantThis https://www.youtube.com/watch?v=5ZP00ui9mBc Unihertz Titan 的下一代产品要出了:Titan Pocket // 看起来更圆润了?就这架势来看三防应该还是有的。尺寸比初代 Titan 小了一大圈。 // 本身主打是比初代 Titan 更轻量的全键盘机,可以单手操作。 // 毕竟初代 Titan 本身的个头确实配得上 Titan 这个名字,很大,很重,单手基本上没得用。 // 独立符号键和独立Fn键好评,RDP的时候再也不用担心数字输入和Alt键杠上了(x) // 详细配置目前还是未知。但很多人都觉得肯定是有5G支持的。 // 已知是搭载Android 11。虽然正式发售的时候可能Android 12都好久了。 // 其实也不错了,毕竟Titan也有了Android 10的更新。

#一般日常#WantThis https://youtu.be/Jjc67IzUvWM ✅ NFC Check ✅ 双SIM卡+SD卡扩展 Check 三选二 ✅ 耳机孔 Check ✅ TypeC Check ✅ 无线充电 Check ✅ 6000mAh大电池 Check ✅ 6G内存+128G存储 Check ✅ Android9 Check ✅ 全键盘 Check ✅ 全网通 Check ✅ 三防 Check ✅ 指纹+面部识别 Check ✅ 802.11ac Check #⃣ 相机... 反正是扫码器 #⃣ 处理器... 反正够用 几乎就是 我全都要 (不在意过强性能和相机的话) 价格: 359刀,目测会有国行 结论: 想要

#转发#WantThis#UnihertzTitanSlim 为啥知道这机器叫Titan Slim呢? 因为在日本那边的技术认证暴露了一切... https://www.tele.soumu.go.jp/giteki/SearchServlet?pageID=jk01&NUM=&NAM=&FOM=Titan+Slim&PC=&YAR_FROM=&MON_FROM=&DAY_FROM=&YAR_TO=&MON_TO=&DAY_TO=&RAD=00-00-00-00&TEC=1&TEC=2&TEC=3&TEC=4&TEC=5&TEC=6&TEC=7&SK=0&DC=0&SC=1&as_fid=17de57877f1651f7a960d1e9a08b21ead64c9d95#searchlist

12
ПретходнаСтраница 1 од 2Следна