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

Резултати

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

Пребарај: #dowww

当前筛选 #dowww清除筛选
📓 Real Spencer Woo

@realSpencerWoo · Post #161 · 04.05.2020 г., 13:38

#WSL#dowww#Windows#Netlify 🎮 Dev on Windows with WSL 在 Netlify 上部署的版本出了个非常拉跨的 bug:直接访问内页或者进入某一页之后再刷新,都会会导致当前侧边栏无法点击,没法导航。大家可以来围观一下我在 Netlify Community 上发的 issue:VuePress deployment on Netlify succeeds, but experience errors when reloading specific pages。 然鹅 Vercel(也就是之前的 ZEIT)就没有这个问题(咱也不知道为啥…),可能考虑最近迁移过去,大家来看看这两个 URL 哪个访问更快一些: * Vercel 版本:https://dowww.now.sh * Netlify 版本:https://dowww.netlify.app PS:这两个链接都是原始链接,没有套我域名的 Cloudflare CDN。

📓 Real Spencer Woo

@realSpencerWoo · Post #60 · 07.01.2020 г., 13:56

#GitHub#Windows#WSL#更新#dowww 🎉🎉🎉 历经快半个月的时间,我终于将 Dev on Windows with WSL 重构完成!Dev on Windows with WSL 迎来了 v1.0.0 的里程碑!本次文档重大更新,所有内容几乎全新开始。感谢大家的关注和期待 (✿◡‿◡) Dev on Windows with WSL 新版入口 | GitHub 仓库 🍗 本次重点更新在于对 WSL 2 进行详细介绍,以及对 VS Code 利用 Remote 远程开发组件包连接 WSL 环境的配置方法的详细讲解。除此之外,文档还增加了 WSL 与 WSL 2 的架构对比、WSL 与 WSL 2 的详细安装方法、VS Code 利用 WSL 环境开发各种语言项目的配置方法…… 🥟 同时,文档主网站 VuePress 版本更新到 ^1.0,引入了更细腻的 smooth-scroll、Medium 风格的图片预览,重新设计了强调色和侧边栏样式,还嵌入了 Algolia 文档搜索服务。另外,在 VuePress 默认主题的基础之上,还增加了版本归档、版本切换的功能。 💗 一年多之前,更确切的来说,2018 年的国庆期间,Dev on Windows with WSL 仅仅是我一个个人的项目,而且仅仅是一篇文章。到今天,我和几位 Contributors 已经撰写了超过 5 个部分的 18 章内容,获得了 360+ Stars,解决了 20 余个问题,合并了 10 余个 PR。感谢大家的关注,鞠躬。 🌟 本条消息欢迎大家奔走相告,让更多的同学了解如何在 Windows 上用 WSL 优雅开发。欢迎大家去 GitHub 上面 Star 项目,你的支持是我更新的最大动力~笔芯 (´▽`ʃ♡ƪ) 📮 Via channel: @realSpencerWoo