关于python:Python-潮流周刊21如何提升及测量-Python-代码的性能

41次阅读

共计 3374 个字符,预计需要花费 9 分钟才能阅读完成。

你好,我是猫哥。这里每周分享优质的 Python、AI 及通用技术内容,大部分为英文。题目取自其中三则分享,不代表全部内容都是该主题,特此申明。

本周刊由 Python 猫 出品,精心筛选国内外的 250+ 信息源,为你筛选最值得分享的文章、教程、开源我的项目、软件工具、播客和视频、热门话题等内容。愿景:帮忙所有读者精进 Python 技术,并增长职业和副业的支出。

微信 | 博客 | 邮件 | Github | Telegram | Twitter

原文☞:https://pythoncat.top/posts/2023-09-23-weekly

🦄文章 & 教程

1、在单核状况下放慢 Python 代码速度

文章应用弗洛伊德 - 斯坦伯格抖动算法为例,应用各种技巧来晋升代码性能,实现将耗时从 2339 微秒逐渐升高到 554 微秒。波及的一些概念:指令级并行(ILP)、分支预测、单指令多数据(SIMD)、内存层次结构等。

2、应用 Radon 作 Python 的代码度量

一篇根底的入门教程,理解如何用 Radon 来掂量 Python 的代码复杂度,即计算圈复杂度等指标,介绍了相干命令的应用。

3、Python(大部分)由语法糖组成

Brett Cannon 写了一系列对于“语法糖”的博客,解析了 80 多个语法糖个性。文章基于他在 PyCon 的演讲及博客,介绍了其中的局部内容。

4、迎接新的 SymPy

SymPy 是一个用于符号计算(symbolic computation)的库,能够解决代数、微积分、离散数学等畛域的问题。这是一个系列文章,介绍它将迎来的重大变动。文章形容了 SymPy 以后存在的速度问题、为减速它而作的工作、未来的提速打算。(附:系列第二篇:SymPy 多项式计算)

5、应用 import-linter 让你的 Python 我的项目架构更整洁

在依赖关系治理方面,import-linter 是一个十分有用的工具。它通过提供各种类型的“契约”,让咱们得以将我的项目内隐式的简单依赖关系,通过配置文件显式的表达出来。文章介绍了它的入门应用,以及 6 种修复依赖关系的技巧。

6、CPython 如何用布隆过滤器作字符串解决?

CPython 在解决字符串时应用了布隆过滤器,比方 splitlines()、strip() 两个函数,文章介绍了它们的实现原理。文章还介绍了典型布隆过滤器的实现原理,以及 CPython 中布隆过滤器的实现(不到 50 行 C 代码)。

7、Python 中 UUID 的应用

介绍了 uuid 库的几个办法:uuid1() 利用零碎 MAC 地址与工夫戳生成 uuid;uuid4() 生成齐全随机的 uuid;uuid3() 和 uuid5() 基于常量命名空间和变量名生成 uuid,前者应用 MD5 算法,后者应用 SHA-1 算法。

8、为什么有这么多 Python Dataframe?

为什么会有 Pandas、Polars、Dask 和 PySpark 等大量的 Dataframe 库?作者认为次要的起因是它的四种角色模型:电子表格、关系数据库、二维数组 / 矩阵、对象,以及由此衍生出的一系列问题。

9、应用 Python 模仿“三门问题”

Monty Hall 问题也被称为三门问题,是一道挑战人们直觉的概率问题。文章应用 Python 来模仿这个问题,看看须要多久能力赢取奖品。

10、6 件能够用 Functools 模块做的很酷的事

文章介绍了 functools 规范库的 6 个应用场景:@cache 缓存、@total\_ordering 让你少写双下办法、partial() 解冻函数、@singledispatch 泛型函数、@wraps 装璜器、reduce() 函数。

11、深刻了解 pytest.main():Python 测试框架的外围性能解析

pytest.main 是 Pytest 框架中一个十分实用的函数,用于从命令行运行测试集或者以编程形式运行测试。文章探讨了它的用法和一些常见的利用场景。

12、7 个极佳的 Python 身份验证库

介绍了 7 个不错的身份验证库:Authlib、Pyjwt、Flask-login、Django-allauth、ItsDangerous、Python Social Auth、Flask-security。(附:中文翻译)

🎁Python 潮流周刊 🎁已收费公布了 21 期,拜访下方链接,即可查看全部内容:https://pythoncat.top/tags/weekly

原文☞:https://pythoncat.top/posts/2023-09-23-weekly

🐿️我的项目 & 资源

1、radon:Python 代码的各种指标

一个 Python 代码指标剖析工具,能够计算圈复杂度、原始指标、Halstead 指标、可维护性指数,可用于 CI 集成,可与 Jupyter Notebook 一起应用。(star 1.5K)

2、agents:自主语言代理的开源框架

自主语言代理(Autonomous Language Agents)指的是可能独立执行自然语言解决工作的智能代理零碎。这个库反对长期短期记忆、工具应用、Web 导航、多 agent 通信、人机交互和符号管制等性能。(star 2.6K)

3、quasiqueue:一个多过程库

一个用于 Python 多过程的库,便于管理长时间运行的多过程作业。可解决过程创立和清理、信号治理、跨过程通信以及其它在解决多过程时的麻烦事。

4、pygraft:可配置的模式和常识图谱生成

可依据用户指定的参数生成真切的模式和常识图谱,通过应用 DL 推理器(HermiT)来确保逻辑一致性。

5、toml-bench:在 Python 中该用哪个 toml 库?

这个仓库次要从多个维度比拟了 toml、tomli/tomli\_w、tomlkit、pytomlpp、rtoml 和 qtoml 这几个库,考查它们在解决数据时的行为表现以及性能。

6、SyncDreamer:以单视角图像生成多视角统一的图像

提供一张图片,应用 Paint3D 宰割前景对象,通过推理生成多个视角的图像。

7、nanosam:应用 NVIDIA TensorRT 实时运行的 SAM 模型

Segment Anything(SAM)是在计算机视觉畛域中对图像或视频中的任何对象进行宰割的工作,以提取出具备语义或视觉特色的子区域或对象。

8、logparser:用于日志解析的机器学习工具包

国人开源作品。可主动从非结构化的日志信息中提取出结构化的要害信息。(star 1.2K)

9、llama2.mojo:纯 Mojo 版本的 Llama 2

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

10、bisheng:一个凋谢的 LLM DevOps 平台

一款当先的开源大模型利用开发平台,中文“毕昇”,能够搭建各类丰盛的大模型利用:剖析报告生成、知识库问答、对话、因素提取等。

原文☞:https://pythoncat.top/posts/2023-09-23-weekly

🐢播客 & 视频

1、EuroPython 2023 的 146 个视频

往年 EuroPython 流动的演讲视频。

2、Real Python 播客 #172:应用 Scalene 测量 Python 性能

Scalene 是一款高性能的 CPU、GPU 和内存分析器,能够从单个函数或代码行级别剖析代码,并比拟在 Python 和 C 代码中破费的工夫。播客嘉宾是马萨诸塞大学教授,他与学校实验室的学生开发了 Scalene。

🐱资助 & 反对

如果你喜爱周刊,请分享给其余须要的同学,让更多人能够从中受害~

如果你感觉周刊有价值,请随便赞叹 或 买杯咖啡 进行反对!

如果你想帮忙周刊办得更好,欢送向咱们投稿或提出倡议:投稿 / 倡议通道

如果你是品牌方或广告主,欢送私信我,洽谈资助与单干事项。

🐼欢送订阅

  • 微信公众号:除更新周刊外,还公布其它原创作品,并转载一些优质文章。(可加好友,可加读者交换群)
  • 博客 及 RSS:我的独立博客,下面有历年原创 / 翻译的技术文章,以及从 2009 年以来的一些随笔。
  • Github:你能够获取本周刊的 Markdown 源文件,做任何想做的事!
  • 邮件:在 Substack 上开明的频道,满足你通过邮件浏览时事通信的诉求。
  • Telegram:除了公布周刊的告诉外,我将它视为一个“副刊”,补充公布更加丰盛的资讯。
  • Twitter:我的关注列表里有大量 Python 相干的开发者与组织的账号。
正文完
 0