Python 潮流周刊#34:Python 3.13 的 JIT 方案又新又好

news2025/1/11 18:48:24

△△请给“Python猫”加星标 ,以免错过文章推送

5b1dfe2cc28f8005a2c072167215a2b8.jpeg

你好,我是猫哥。这里每周分享优质的 Python、AI 及通用技术内容,大部分为英文。本周刊开源,欢迎投稿[1]。另有电报频道[2]作为副刊,补充发布更加丰富的资讯,欢迎关注。

🦄文章&教程

1、简单聊聊 Python 3.13 的 JIT 方案[3]

Python 3.13 将引入一个 copy-and-patch JIT 编译器,它尽可能地利用了 LLVM 生态的东西,编译器用 clang,编译参数开 -o3 获取最大的性能,二进制工具用 llvm-objdump 和 llvm-readelf,方案可谓是又新又好。

2、在 Python 中读取 Excel 的最快方法[4]

如何用 Python 读取 Excel 文件?文章从速度、类型、正确性三个维度,分别用 Pandas、Tablib、Openpyxl、LibreOffice、DuckDB 和 Calamine 读取 Excel,得出了性能上的排名。

0e9148f84e5318f0c9636955767c621a.png

Python库读取Excel性能对比

3、Flask 教程:从头开始构建可扩展的 Web 项目[5]

Flask 是强大且灵活的 Web 框架,这篇入门教程介绍了如何设置 Flask 项目、开发入门级项目、使用蓝图添加多页面、使用 Jinja 模板、存储静态文件等内容。

4、Python、C、汇编 - 提高 2500 倍余弦相似度运算[6]

余弦相似度是机器学习和信息检索中广泛使用的指标,文章以它为例,介绍了一些底层优化方法,从纯 Python 版本开始,Numpy 导致性能变慢、Scipy 提升 2-5x、C 语言提升 200x、SIMD 内部函数提升 400x、结合 AVX-512 与 BMI2 后 747x、增加 AVX-512FP16 后升至 1260x、使用 AVX-512VNNI 提升 2521x。

5、使用 AI 检测 AI 生成的照片[7]

Stable Diffusion XLMidjourney v6 等最新的 AI 模型可以生成极其逼真的图像,人眼已经越来越难以分辨真假。作者训练了一个能够检测 AI 生成图像的分类器,可获得 99% 准确率的结果。

6、Python 内置函数 max 有毛病[8]

作者敏锐地发现 sum、all、any 和 math.prod 几个函数在入参为空列表时,都有恰当的默认值,然而 maxmin 函数却会报错!作者认为它应该等于负无穷大,你们怎么看?

7、App 自动化测试之 Appium 应用篇| Appium 常用 API 及操作[9]

Appium 是常用的 Android UI 自动化测试工具,文章出自一个 Appium 自动化测试系列教程。

8、使用 Django 构建一个实时消息应用[10]

如何给 Django 应用添加异步的实时事件?不使用 Redis,使用 Django 最新的异步特性。文章演示开发了一个极简的 Web 端即时通讯应用。

9、了解 Python 中的数值数据类型[11]

Python 有哪些常用的数值数据类型?它们有哪些特点,CPython 内部是如何实现的?文章介绍了整数、浮点数和复数类型,以及 math、decimal 和 fractions 三个模块。(附:PEP-3141--数字的类型层级[12])

10、非阻塞的 Asyncio 日志记录[13]

如何在 asyncio 程序中实现非阻塞记录日志?文章介绍了如何用共享的 QueueQueueHandler 来记录日志,并使用 QueueListener 来存储日志。

11、Instagram 如何仅凭 3 名工程师实现用户规模 1400 万[14]

Instagram 在 2010-2011 年从 0 到 1400 万用户,那时仅仅有 3 名工程师!他们用了什么技术栈,有什么成功经验可给我们借鉴的?文章介绍了它使用到的相关技术和实现方案。

f7f1542691cc2e975bbb21f8c9f53cdc.png

Instagram早期架构解析图

12、Google 设计的类 Python 编程语言 Starlark[15]

Google 设计出 Starlark 旨在取代 Python 作为构建描述语言,语法非常相似。这份文档说明了它的一些设计原则,以及跟 Python 语言的诸多差异,比如它的布尔值不是整数、字符串不可迭代、没有“is”运算符、for/if 语句不允许在函数外部使用,等等。

13、数据工程的历史和现状[16]

文章出自正在连载的免费在线电子书《数据工程设计模式》(Data Engineering Design Patterns)。数据工程经历了 SQL、维度建模、商业智能和大数据、MapReduce 和 Hadoop、云革命等阶段。

🎁Python潮流周刊🎁每 30 期为一季,第一季的精华内容已整理成一篇,方便你随时查看。在线访问地址:Python 潮流周刊第一季精华合集(1~30)[17]

🐿️项目&资源

1、watchfiles:简单快速的文件监听和代码重新加载[18]

简单快速实现对文件的监听,使用 Rust 的Notify 库处理底层文件系统通知,支持同步和异步监听处理。(star 1.4K)

from watchfiles import watch

for changes in watch('./path/to/dir'):
    print(changes)

2、hy:嵌入在 Python 中的 Lisp 方言[19]

hy 是 Python 的一种替代语法,与 Python 相比,它提供了各种额外的功能、泛化和语法简化。与其它 Lisp 相比,它提供了对 Python 内置和第三方库的直接访问。(star 4.7K)

3、pyapp:Python 应用的运行时安装器[20]

使用 Rust 开发的工具,可构建运行时自启动的 Python 应用程序,为每个平台构建独立的二进制包。

4、yarl:一个 URL 解析工具[21]

提供了 URL 类,可便利解析和修改 URL,支持通过属性方式访问 url 的每个部分。(star 1K)

5、apispec:可插拔的 API 规范生成器,支持 OpenAPI 规范[22]

自动生成 API 接口规范文档,支持 OpenAPI 规范(即 Swagger 规范),与框架无关,内置对marshmallow 的支持。(star 1.1K)

6、marshmallow:支持复杂对象与简单数据类型相互转换[23]

简单的对象序列化库,与 ORM/ODM/框架无关,可用于验证输入数据、序列化与反序列化,提供有丰富的字段类型,支持多种数据格式。(star 6.8K)

7、jake:在 GitHub 上轻松创建和部署自己的单链接网站[24]

单链接网站(one-link website)适合用作个人主页,这个网站模板使用 Github Pages 部署,让你轻松省力地构建美观的个人主页。

8、docflow:功能强大的文档管理 API,无缝上传、下载、组织、版本控制、共享[25]

简化文档类的处理操作,支持身份验证和授权、列表权限控制、文档的增删改查、文档预览、版本控制等。

9、auto_job__find__chatgpt__rpa:基于 ChatGPT 的自动投简历助手[26]

国人作品。利用 ChatGPT 根据你的简历和某招聘网站的职位描述,自动匹配和生成求职信息,自动发送给招聘人员。求职寒冬季,祝你好运!

10、oshit:放在命令行终端的 Hacker News[27]

简化的 Hacker News 阅读客户端,没有登录、投票、发布等功能,支持查看用户和评论信息。

971b8c949a0a8e825d81cbcb075bded8.png

命令行中的Hacker News阅读器

11、mixtral-offloading:在 Colab 或个人电脑上运行 Mixtral-8x7B 模型[28]

实现了对 Mixtral-8x7B 模型的高效推理,需要大约 16 GB 的 VRAM 和 11 GB 的 RAM。(star 1.4K)

12、RecoverPy:以交互方式从终端查找和恢复已删除或覆盖的文件[29]

文件的数据被覆盖或删除了,还能找回么?这是一个 Linux 上的文件&数据恢复工具,支持文本搜索,支持交互式操作。(star 1.1K)

13、MobileVLM:美团开源的移动设备视觉语言助手[30]

在移动设备上运行的多模态视觉语言模型 (MMVLM),有 1.4B 和 2.7B 参数规模,在高通骁龙 888 CPU 和 NVIDIA Jeston Orin GPU 上分别获得每秒 21.5 个 token 和 65.3 个 token 的优秀性能。

0213bf3ad3d853d01c74c96116339177.png

MobileVLM的架构图

🐢播客&视频

1、 捕蛇者说 Ep 44. 与 Tualatrix 聊聊独立开发使用的技术栈[31]

独立开发者怎么做技术选型?为什么图拉鼎会用 Python 作为自己项目的后端语言?(附:两年前的另一期播客 ByteTalk 3. 跟图拉鼎聊聊独立开发者的那些事[32])

2、给 Pythonistas 的 Rust 编程入门教程[33]

以面向 Python 开发者的视角来对比和学习 Rust 编程,介绍了主要特性的差异(比如 Python 的类和 Rust 的 struct)。

🐼欢迎订阅

  • 微信公众号[34]:除更新周刊外,还发布其它原创作品,并转载一些优质文章。(可加好友,可加读者交流群)

  • 博客[35] 及 RSS[36]:我的独立博客,上面有历年原创/翻译的技术文章,以及从 2009 年以来的一些随笔。

  • 邮件[37] 及 RSS[38]:在 Substack 上开通的频道,满足你通过邮件阅读时事通讯的诉求。

  • Github[39]:你可以获取本周刊的 Markdown 源文件,做任何想做的事!

  • Telegram[40]:除了发布周刊的通知外,我将它视为一个“副刊”,补充发布更加丰富的资讯。

  • Twitter[41]:我的关注列表里有大量 Python 相关的开发者与组织的账号。

参考资料

[1]

投稿: https://github.com/chinesehuazhou/python-weekly

[2]

电报频道: https://t.me/pythontrendingweekly

[3]

简单聊聊 Python 3.13 的 JIT 方案: https://www.manjusaka.blog/posts/2024/01/03/a-simple-introduction-about-python-jit/

[4]

在 Python 中读取 Excel 的最快方法: https://hakibenita.com/fast-excel-python

[5]

Flask 教程:从头开始构建可扩展的 Web 项目: https://realpython.com/flask-project/

[6]

Python、C、汇编 - 提高 2500 倍余弦相似度运算: https://ashvardanian.com/posts/python-c-assembly-comparison/

[7]

使用 AI 检测 AI 生成的照片: https://tolkunov.dev/posts/ai-or-not/

[8]

Python 内置函数 max 有毛病: https://mathspp.com/blog/max-is-broken

[9]

App 自动化测试之 Appium 应用篇| Appium 常用 API 及操作: https://juejin.cn/post/7318952376593006633

[10]

使用 Django 构建一个实时消息应用: https://www.photondesigner.com/articles/instant-messenger

[11]

了解 Python 中的数值数据类型: https://fullspeedpython.com/articles/understanding-numeric-data-types/

[12]

PEP-3141--数字的类型层级: https://github.com/chinesehuazhou/peps-cn/blob/master/StandardsTrack/3141--%E6%95%B0%E5%AD%97%E7%9A%84%E7%B1%BB%E5%9E%8B%E5%B1%82%E7%BA%A7.md

[13]

非阻塞的 Asyncio 日志记录: https://superfastpython.com/asyncio-log-blocking/

[14]

Instagram 如何仅凭 3 名工程师实现用户规模 1400 万: https://read.engineerscodex.com/p/how-instagram-scaled-to-14-million

[15]

Google 设计的类 Python 编程语言 Starlark: https://github.com/bazelbuild/starlark/blob/master/design.md

[16]

数据工程的历史和现状: https://www.dedp.online/part-1/1-introduction/history-and-state-of-data-engineering.html

[17]

Python 潮流周刊第一季精华合集(1~30): https://pythoncat.top/posts/2023-12-11-weekly

[18]

watchfiles:简单快速的文件监听和代码重新加载: https://github.com/samuelcolvin/watchfiles

[19]

hy:嵌入在 Python 中的 Lisp 方言: https://github.com/hylang/hy

[20]

pyapp:Python 应用的运行时安装器: https://github.com/ofek/pyapp

[21]

yarl:一个 URL 解析工具: https://github.com/aio-libs/yarl

[22]

apispec:可插拔的 API 规范生成器,支持 OpenAPI 规范: https://github.com/marshmallow-code/apispec

[23]

marshmallow:支持复杂对象与简单数据类型相互转换: https://github.com/marshmallow-code/marshmallow

[24]

jake:在 GitHub 上轻松创建和部署自己的单链接网站: https://github.com/thevahidal/jake

[25]

docflow:功能强大的文档管理 API,无缝上传、下载、组织、版本控制、共享: https://github.com/jiisanda/docflow

[26]

auto_job__find__chatgpt__rpa:基于 ChatGPT 的自动投简历助手: https://github.com/Frrrrrrrrank/auto_job__find__chatgpt__rpa

[27]

oshit:放在命令行终端的 Hacker News: https://github.com/davep/oshit

[28]

mixtral-offloading:在 Colab 或个人电脑上运行 Mixtral-8x7B 模型: https://github.com/dvmazur/mixtral-offloading

[29]

RecoverPy:以交互方式从终端查找和恢复已删除或覆盖的文件: https://github.com/PabloLec/RecoverPy

[30]

MobileVLM:美团开源的移动设备视觉语言助手: https://github.com/Meituan-AutoML/MobileVLM

[31]

捕蛇者说 Ep 44. 与 Tualatrix 聊聊独立开发使用的技术栈: https://www.xiaoyuzhoufm.com/episode/65945c8c1e736aa25c935885

[32]

ByteTalk 3. 跟图拉鼎聊聊独立开发者的那些事: https://www.xiaoyuzhoufm.com/episode/618c9897fad86a854205b2a0

[33]

给 Pythonistas 的 Rust 编程入门教程: https://www.youtube.com/watch?v=MoqtsYLGCC4

[34]

微信公众号: https://img.pythoncat.top/python_cat.jpg

[35]

博客: https://pythoncat.top

[36]

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

[37]

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

[38]

RSS: https://pythoncat.substack.com/feed

[39]

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

[40]

Telegram: https://t.me/pythontrendingweekly

[41]

Twitter: https://twitter.com/chinesehuazhou

1bf7ca8cb22d52853c49e0a847c4a399.gif

如果你觉得本文有帮助

请慷慨分享点赞,感谢啦

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1374931.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

滚柱导轨精度等级是如何划分?

滚柱导轨的精度等级主要根据其表面精度、滑块与导轨表面的公差以及定位精度等性能指标来划分。根据不同的标准和应用需求,精度等级的划分存在一定的差异。 1、行走平行度:普通级(无标注/C)5μm,高级(H&…

如何在数学建模竞赛中稳定拿奖

✅作者简介:人工智能专业本科在读,喜欢计算机与编程,写博客记录自己的学习历程。 🍎个人主页:小嗷犬的个人主页 🍊个人网站:小嗷犬的技术小站 🥭个人信条:为天地立心&…

NIO通信代码示例

NIO通信架构图 1.Client NioClient package nio;import constant.Constant;import java.io.IOException; import java.util.Scanner;public class NioClient {private static NioClientHandle nioClientHandle;public static void start() {nioClientHandle new NioClientHa…

【Spring Cloud】Sentinel流量限流和熔断降级的讲解

🎉🎉欢迎来到我的CSDN主页!🎉🎉 🏅我是Java方文山,一个在CSDN分享笔记的博主。📚📚 🌟推荐给大家我的专栏《Spring Cloud》。🎯🎯 &am…

网工内推 | 高级网工,H3C认证优先,朝九晚六,周末双休

01 万德 招聘岗位:高级网络工程师 职责描述: 1、项目交付:项目管理和交付,包括项目前期的规划、实施以及后期的运维支持、项目验收等。 2、技术支持:为客户及合作伙伴提供网上问题远程和现场支持;对公司内…

【C++】STL 算法 ⑥ ( 二元谓词 | std::sort 算法简介 | 为 std::sort 算法设置 二元谓词 排序规则 )

文章目录 一、二元谓词1、二元谓词简介2、 std::sort 算法简介3、 代码示例 - 为 std::sort 算法设置 二元谓词 排序规则 一、二元谓词 1、二元谓词简介 " 谓词 ( Predicate ) " 是一个 返回 布尔 bool 类型值 的 函数对象 / 仿函数 或 Lambda 表达式 / 普通函数 , …

全链路压力测试有哪些主要作用

全链路压力测试是在软件开发和维护过程中不可或缺的一环,尤其在复杂系统和高并发场景下显得尤为重要。下面将详细介绍全链路压力测试的主要作用。 一、全链路压力测试概述 全链路压力测试是指对软件系统的全部组件(包括前端、后端、数据库、网络、中间件等)在高负载…

vue/vue3/js来动态修改我们的界面浏览器上面的文字和图标

前言&#xff1a; 整理vue/vue3项目中修改界面浏览器上面的文字和图标的方法。 效果&#xff1a; vue2/vue3: 默认修改 public/index.html index.html <!DOCTYPE html> <html lang"en"><head><link rel"icon" type"image/sv…

HarmonyOS自定义组件生命周期函数介绍

aboutToAppear 在创建自定义组件的新实例后&#xff0c;在执行其build()函数之前执行。允许在aboutToAppear函数中改变状态变量&#xff0c;更改将在后续执行build()函数中生效。 aboutToDisappear 在自定义组件析构销毁之前执行。不允许在aboutToDisappear函数中改变状态变…

Redis:原理速成+项目实战——Redis实战10(Redis消息队列实现异步秒杀)

&#x1f468;‍&#x1f393;作者简介&#xff1a;一位大四、研0学生&#xff0c;正在努力准备大四暑假的实习 &#x1f30c;上期文章&#xff1a;Redis&#xff1a;原理速成项目实战——Redis实战9&#xff08;秒杀优化&#xff09; &#x1f4da;订阅专栏&#xff1a;Redis&…

wxWidgets实战:使用mpWindow绘制阻抗曲线

选择模型时&#xff0c;需要查看model的谐振频率&#xff0c;因此需要根据s2p文件绘制一张阻抗曲线。 如下图所示&#xff1a; mpWindow 左侧使用mpWindow&#xff0c;右侧使用什么&#xff1f; wxFreeChart https://forums.wxwidgets.org/viewtopic.php?t44928 https://…

实战环境搭建-linux下安装tomcat

安装tomcat Index of /dist/tomcat/tomcat-9/v9.0.8/bin 下载apache-tomcat-9.0.8.tar.gz&#xff0c;可以使用wget; 2、将压缩包tar -zxvf apache-tomcat-9.0.8.tar.gz解压到/home/tomcat 3、修改环境变量 vi /etc/profile export JAVA_HOME/home/java/jdk1.8.0_221 expo…

IntelliJ IDEA Java 连接 mysql 配置(附完整 demo)

下载 MySQL 驱动 从MySQL官网下载JDBC驱动的步骤如下&#xff1a; 1&#xff09;访问MySQL的官方网站&#xff1a;MySQL 2&#xff09;点击页面上方的"DOWNLOADS"菜单&#xff1b; 3&#xff09;在下载页面&#xff0c;找到"MySQL Community (GPL) Downloads…

QT第四天

头文件&#xff1a; #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include<QTime>//时间类 #include<QTimerEvent>//定时器事件类 #include<QtTextToSpeech> //语言播报类 #include<QPushButton> namespace Ui { class Widget; }clas…

2023年全国职业院校技能大赛(高职组)“云计算应用”赛项赛卷⑥

2023年全国职业院校技能大赛&#xff08;高职组&#xff09; “云计算应用”赛项赛卷6 目录 需要竞赛软件包环境以及备赛资源可私信博主&#xff01;&#xff01;&#xff01; 2023年全国职业院校技能大赛&#xff08;高职组&#xff09; “云计算应用”赛项赛卷6 模块一…

前端导出Excel文件,部分数字前面0消失处理办法

详细导出可以看之前的文章 js实现导出Excel文档_js 通过 接口 导出 xlsx 代码-CSDN博客 今天的问题是导出一些数据时&#xff0c;有些字段是前面带有0的字符串&#xff0c;而导出后再excel中就被识别成了数字 如图本来字符串前面的0 都没了 解决方案 1. 导出的时候在前面加单…

微信V3支付,JSAPI 支付报错,返回 映射到值字段“子商户号/二级商户号”字符串规则校验失败

问题 最近使用 微信V3 支付的JAVA 版本&#xff0c;调用 JSAPI 支付&#xff0c;报错&#xff1a; httpResponseBody[{"code":"PARAM_ERROR","detail":{"location":null,"value":""},"message":"…

Fluids —— Whitewater (SOP)

目录 Whitewater Lifecycle Workflow Whitewater source Deformation sources Visualizing whitewater Whitewater solver Wind Foam erosion Repellants Whitewater postprocess 基于SOP的白水是对SOP FLIP工作流的增强&#xff1b;该系统与规模无关&#xff0c;无需…

day-06 构造有效字符串的最少插入数

思路 动态规划&#xff1a; Word[i]单独组成abc 如果Word[i]>word[i-1] 则word[i]和word[i-1]一起构成abc 解题方法 关系式&#xff1a;dp[i]dp[i-1]2或dp[i]dp[i-1]-1 时间复杂度&#xff1a; O(n) 空间复杂度&#xff1a; O(1) Code class Solution {/*动态规划&…

摩托车充气泵方案芯片应用设计

技术工程师在做产品方案开发之前&#xff0c;首先也是最重要的就是芯片选型。为什么这样说呢&#xff1f;那是因为芯片是整个方案设计中&#xff0c;最至关重要的一环&#xff0c;没有它&#xff0c;后面的工作将无法进行&#xff0c;只有将芯片核心基础定下来&#xff0c;后面…