<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Python 潮流周刊#21:如何提升及測量 Python 代碼的性能?

          共 6987字,需瀏覽 14分鐘

           ·

          2023-09-26 19:08

          △點(diǎn)擊上方“Python貓”關(guān)注 ,回復(fù)“1”領(lǐng)取電子書

          你好,我是貓哥。這里每周分享優(yōu)質(zhì)的 Python、AI 及通用技術(shù)內(nèi)容,大部分為英文。標(biāo)題取自其中三則分享,不代表全部內(nèi)容都是該主題,特此聲明。

          本周刊由 Python貓 出品,精心篩選國內(nèi)外的 250+ 信息源,為你挑選最值得分享的文章、教程、開源項(xiàng)目、軟件工具、播客和視頻、熱門話題等內(nèi)容。愿景:幫助所有讀者精進(jìn) Python 技術(shù),并增長職業(yè)和副業(yè)的收入。

          本周刊開通 Telegram 頻道后,已有 700+ 小伙伴加入,歡迎你到來:https://t.me/pythontrendingweekly

          ??文章&教程

          1、在單核情況下加快 Python 代碼速度[1]

          文章使用弗洛伊德-斯坦伯格抖動算法為例,使用各種技巧來提升代碼性能,實(shí)現(xiàn)將耗時(shí)從 2339 微秒逐步降低到 554 微秒。涉及的一些概念:指令級并行 (ILP)、分支預(yù)測、單指令多數(shù)據(jù)(SIMD)、內(nèi)存層次結(jié)構(gòu)等。

          2、使用 Radon 作 Python 的代碼度量[2]

          一篇基礎(chǔ)的入門教程,了解如何用 Radon 來衡量 Python 的代碼復(fù)雜度,即計(jì)算圈復(fù)雜度等指標(biāo),介紹了相關(guān)命令的使用。

          3、Python(大部分)由語法糖組成[3]

          Brett Cannon 寫了一系列關(guān)于“語法糖”的博客,解析了 80 多個(gè)語法糖特性。文章基于他在 PyCon 的演講及博客,介紹了其中的部分內(nèi)容。

          4、迎接新的 SymPy[4]

          SymPy 是一個(gè)用于符號計(jì)算(symbolic computation)的庫,可以處理代數(shù)、微積分、離散數(shù)學(xué)等領(lǐng)域的問題。這是一個(gè)系列文章,介紹它將迎來的重大變化。文章描述了 SymPy 當(dāng)前存在的速度問題、為加速它而作的工作、將來的提速計(jì)劃。(附:系列第二篇:SymPy 多項(xiàng)式計(jì)算[5]

          5、使用 import-linter 讓你的 Python 項(xiàng)目架構(gòu)更整潔[6]

          在依賴關(guān)系治理方面,import-linter[7] 是一個(gè)非常有用的工具。它通過提供各種類型的“契約”,讓我們得以將項(xiàng)目內(nèi)隱式的復(fù)雜依賴關(guān)系,通過配置文件顯式的表達(dá)出來。文章介紹了它的入門使用,以及 6 種修復(fù)依賴關(guān)系的技巧。

          6、CPython 如何用布隆過濾器作字符串處理?[8]

          CPython 在處理字符串時(shí)使用了布隆過濾器,比如 splitlines()、strip() 兩個(gè)函數(shù),文章介紹了它們的實(shí)現(xiàn)原理。文章還介紹了典型布隆過濾器的實(shí)現(xiàn)原理,以及 CPython 中布隆過濾器的實(shí)現(xiàn)(不到 50 行 C 代碼)。

          7、Python 中 UUID 的使用[9]

          介紹了uuid 庫的幾個(gè)方法:uuid1() 利用系統(tǒng) MAC 地址與時(shí)間戳生成 uuid;uuid4() 生成完全隨機(jī)的 uuid;uuid3() 和 uuid5() 基于常量命名空間和變量名生成 uuid,前者使用 MD5 算法,后者使用 SHA-1 算法。

          8、為什么有這么多 Python Dataframe?[10]

          為什么會有 Pandas、Polars、Dask 和 PySpark 等大量的 Dataframe 庫?作者認(rèn)為主要的原因是它的四種角色模型:電子表格、關(guān)系數(shù)據(jù)庫、二維數(shù)組/矩陣、對象,以及由此衍生出的一系列問題。

          9、使用 Python 模擬“三門問題”[11]

          Monty Hall 問題也被稱為三門問題,是一道挑戰(zhàn)人們直覺的概率問題。文章使用 Python 來模擬這個(gè)問題,看看需要多久才能贏取獎品。

          10、6 件可以用 Functools 模塊做的很酷的事[12]

          文章介紹了 functools 標(biāo)準(zhǔn)庫的 6 個(gè)使用場景:@cache 緩存、@total_ordering 讓你少寫雙下方法、partial() 凍結(jié)函數(shù)、@singledispatch 泛型函數(shù)、@wraps 裝飾器、reduce() 函數(shù)。

          11、深入理解 pytest.main():Python 測試框架的核心功能解析[13]

          pytest.main 是 Pytest 框架中一個(gè)非常實(shí)用的函數(shù),用于從命令行運(yùn)行測試集或者以編程方式運(yùn)行測試。文章探討了它的用法和一些常見的應(yīng)用場景。

          12、7 個(gè)極佳的 Python 身份驗(yàn)證庫[14]

          介紹了 7 個(gè)不錯(cuò)的身份驗(yàn)證庫:Authlib、Pyjwt、Flask-login、Django-allauth、ItsDangerous、Python Social Auth、Flask-security。(附:中文翻譯[15]

          ??Python潮流周刊??已免費(fèi)發(fā)布了 21 期,訪問下方鏈接,即可查看全部內(nèi)容:https://pythoncat.top/tags/weekly[16]

          如果你覺得周刊有價(jià)值,請表達(dá)小小心意,贊賞一下貓哥吧~~

          ???項(xiàng)目&資源

          1、radon:Python 代碼的各種指標(biāo)[17]

          一個(gè) Python 代碼指標(biāo)分析工具,可以計(jì)算圈復(fù)雜度、原始指標(biāo)、Halstead 指標(biāo)、可維護(hù)性指數(shù),可用于 CI 集成,可與 Jupyter Notebook 一起使用。(star 1.5K)

          2、agents:自主語言代理的開源框架[18]

          自主語言代理(Autonomous Language Agents)指的是能夠獨(dú)立執(zhí)行自然語言處理任務(wù)的智能代理系統(tǒng)。這個(gè)庫支持長期短期記憶、工具使用、Web 導(dǎo)航、多 agent 通信、人機(jī)交互和符號控制等功能。(star 2.6K)

          3、quasiqueue:一個(gè)多進(jìn)程庫[19]

          一個(gè)用于 Python 多進(jìn)程的庫,便于管理長時(shí)間運(yùn)行的多進(jìn)程作業(yè)。可處理進(jìn)程創(chuàng)建和清理、信號管理、跨進(jìn)程通信以及其它在處理多進(jìn)程時(shí)的麻煩事。

          4、pygraft:可配置的模式和知識圖譜生成[20]

          可根據(jù)用戶指定的參數(shù)生成逼真的模式和知識圖譜,通過使用 DL 推理器(HermiT)來確保邏輯一致性。

          5、toml-bench:在 Python 中該用哪個(gè) toml 庫?[21]

          這個(gè)倉庫主要從多個(gè)維度比較了 toml、tomli/tomli_w、tomlkit、pytomlpp、rtoml 和 qtoml 這幾個(gè)庫,考察它們在處理數(shù)據(jù)時(shí)的行為表現(xiàn)以及性能。

          6、SyncDreamer:以單視角圖像生成多視角一致的圖像[22]

          提供一張圖片,使用 Paint3D 分割前景對象,通過推理生成多個(gè)視角的圖像。

          7、nanosam:使用 NVIDIA TensorRT 實(shí)時(shí)運(yùn)行的 SAM 模型[23]

          Segment Anything(SAM)是在計(jì)算機(jī)視覺領(lǐng)域中對圖像或視頻中的任何對象進(jìn)行分割的任務(wù),以提取出具有語義或視覺特征的子區(qū)域或?qū)ο蟆?/p>

          8、logparser:用于日志解析的機(jī)器學(xué)習(xí)工具包[24]

          國人開源作品。可自動從非結(jié)構(gòu)化的日志信息中提取出結(jié)構(gòu)化的關(guān)鍵信息。(star 1.2K)

          9、llama2.mojo:純 Mojo 版本的 Llama 2[25]

          作者將 Python 版本的 llama2.py 移植成 Mojo 版本,將性能提高了近 250 倍。(star 1.1K)

          10、bisheng:一個(gè)開放的 LLM DevOps 平臺[26]

          一款領(lǐng)先的開源大模型應(yīng)用開發(fā)平臺,中文“畢昇”,可以搭建各類豐富的大模型應(yīng)用:分析報(bào)告生成、知識庫問答、對話、要素提取等。

          ??播客&視頻

          1、EuroPython 2023 的 146 個(gè)視頻[27] 

          今年 EuroPython 活動的演講視頻。

          2、Real Python 播客 #172:使用 Scalene 測量 Python 性能[28]

          Scalene 是一款高性能的 CPU、GPU 和內(nèi)存分析器,可以從單個(gè)函數(shù)或代碼行級別分析代碼,并比較在 Python 和 C 代碼中花費(fèi)的時(shí)間。播客嘉賓是馬薩諸塞大學(xué)教授,他與學(xué)校實(shí)驗(yàn)室的學(xué)生開發(fā)了 Scalene。

          ??贊助&支持

          如果你喜歡周刊,請分享給其他需要的同學(xué),讓更多人可以從中受益~

          如果你覺得周刊有價(jià)值,請隨意贊賞[29]買杯咖啡[30] 進(jìn)行支持!

          如果你想幫助周刊辦得更好,歡迎向我們投稿或提出建議:投稿/建議通道[31]

          如果你是品牌方或廣告主,歡迎私信我,洽談贊助與合作事項(xiàng)。

          ??歡迎訂閱

          • 微信公眾號[32]:除更新周刊外,還發(fā)布其它原創(chuàng)作品,并轉(zhuǎn)載一些優(yōu)質(zhì)文章。(可加好友,可加讀者交流群)
          • 博客[33]RSS[34]:我的獨(dú)立博客,上面有歷年原創(chuàng)/翻譯的技術(shù)文章,以及從 2009 年以來的一些隨筆。
          • Github[35]:你可以獲取本周刊的 Markdown 源文件,做任何想做的事!
          • 郵件[36]:在 Substack 上開通的頻道,滿足你通過郵件閱讀時(shí)事通訊的訴求。
          • Telegram[37]:除了發(fā)布周刊的通知外,我將它視為一個(gè)“副刊”,補(bǔ)充發(fā)布更加豐富的資訊。
          • Twitter[38]:我的關(guān)注列表里有大量 Python 相關(guān)的開發(fā)者與組織的賬號。

          參考資料

          [1]

          在單核情況下加快 Python 代碼速度: https://pythonspeed.com/articles/optimizing-dithering/

          [2]

          使用 Radon 作 Python 的代碼度量: https://www.blog.pythonlibrary.org/2023/09/20/learning-about-code-metrics-in-python-with-radon/

          [3]

          Python(大部分)由語法糖組成: https://lwn.net/Articles/942767/

          [4]

          迎接新的 SymPy: https://oscarbenjamin.github.io/blog/czi/post1.html

          [5]

          系列第二篇:SymPy 多項(xiàng)式計(jì)算: https://oscarbenjamin.github.io/blog/czi/post2.html

          [6]

          使用 import-linter 讓你的 Python 項(xiàng)目架構(gòu)更整潔: https://www.piglei.com/articles/use-import-linter-to-lint-proj-arch/

          [7]

          import-linter: https://github.com/seddonym/import-linter

          [8]

          CPython 如何用布隆過濾器作字符串處理?: https://codeconfessions.substack.com/p/cpython-bloom-filter-usage

          [9]

          Python 中 UUID 的使用: https://medium.com/@m____b____/uuids-with-python-b133cead1b4c

          [10]

          為什么有這么多 Python Dataframe?: https://ponder.io/why-are-there-so-many-python-dataframes/

          [11]

          使用 Python 模擬“三門問題”: https://www.dataschool.io/python-probability-simulation/

          [12]

          6 件可以用 Functools 模塊做的很酷的事: https://pybit.es/articles/6-cool-things-you-can-do-with-the-functools-module/

          [13]

          深入理解 pytest.main():Python 測試框架的核心功能解析: https://juejin.cn/post/7281491804736831542

          [14]

          7 個(gè)極佳的 Python 身份驗(yàn)證庫: https://python.plainenglish.io/7-best-python-authentication-libraries-you-should-use-in-your-next-project-c07b668d5348

          [15]

          中文翻譯: https://juejin.cn/post/7281150086351732751

          [16]

          https://pythoncat.top/tags/weekly: https://pythoncat.top/tags/weekly

          [17]

          radon:Python 代碼的各種指標(biāo): https://github.com/rubik/radon

          [18]

          agents:自主語言代理的開源框架: https://github.com/aiwaves-cn/agents

          [19]

          quasiqueue:一個(gè)多進(jìn)程庫: https://github.com/tedivm/quasiqueue

          [20]

          pygraft:可配置的模式和知識圖譜生成: https://github.com/nicolas-hbt/pygraft

          [21]

          toml-bench:在 Python 中該用哪個(gè) toml 庫?: https://github.com/pwwang/toml-bench

          [22]

          SyncDreamer:以單視角圖像生成多視角一致的圖像: https://github.com/liuyuan-pal/SyncDreamer

          [23]

          nanosam:使用 NVIDIA TensorRT 實(shí)時(shí)運(yùn)行的 SAM 模型: https://github.com/NVIDIA-AI-IOT/nanosam

          [24]

          logparser:用于日志解析的機(jī)器學(xué)習(xí)工具包: https://github.com/logpai/logparser

          [25]

          llama2.mojo:純 Mojo 版本的 Llama 2: https://github.com/tairov/llama2.mojo

          [26]

          bisheng:一個(gè)開放的 LLM DevOps 平臺: https://github.com/dataelement/bisheng

          [27]

          EuroPython 2023 的 146 個(gè)視頻: https://www.youtube.com/playlist?list=PL8uoeex94UhFcwvAfWHybD7SfNgIUBRo-

          [28]

          Real Python 播客 #172:使用 Scalene 測量 Python 性能: https://realpython.com/podcasts/rpp/172/

          [29]

          贊賞: https://img.pythoncat.top/wechat_code.png

          [30]

          買杯咖啡: https://www.buymeacoffee.com/pythoncat

          [31]

          投稿/建議通道: https://github.com/chinesehuazhou/python-weekly/issues/new

          [32]

          微信公眾號: https://img.pythoncat.top/python_cat.jpg

          [33]

          博客: https://pythoncat.top

          [34]

          RSS: https://pythoncat.top/rss.xml

          [35]

          Github: https://github.com/chinesehuazhou/python-weekly

          [36]

          郵件: https://pythoncat.substack.com

          [37]

          Telegram: https://t.me/pythontrendingweekly

          [38]

          Twitter: https://twitter.com/chinesehuazhou

          如果你覺得本文有幫助
          請慷慨分享點(diǎn)贊,感謝啦

          瀏覽 1090
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  丁香婷婷色五月激情综合 | a 在线资源 | 亚洲视频手机在线播放 | 麻豆精品在线影院 | 婷婷五月天网 |