《CPython Internals》阅读笔记:p353-p355

《CPython Internals》学习第 18天,p353-p355 总结,总计 3 页。

一、技术总结

1.benchmark(基准测试)

Python中常用的 benchmark 有 timeit, pyperformance。

(1)timeit

$ ./python -m timeit -c "x=1; x+=1; x**x"

1000000 loops, best of 5: 258 nsec per loop

我觉得这是一个很糟糕的示例,没有看出这个示例有什么意义。对于timeit 模块,我更希望放在整个项目中去看,看看它在实际项目中的应用。很遗憾,截止到目前,在我所看过的书中,关于 timeit 的使用都是测试一些代码片段。

(2)关于timeit的一点说明

作者在第356也说"You might notice a minor (1-5%) improvement in performance."------我觉得作者在这里的叙述有点本末倒置,timeit顶多算是验证结果的一种手段,其实应该把重点放在"为什么性能提升了1-5%"。

2.profiler

Python 中常用的 profiler 有 cProfiler 或者 dtrace。

二、英语总结(生词:2)

1.detrimental

(1)detriment: de-("away") + terere("to rub(摩擦), wear(to become weaker)")

u. harm or damage. Detriment refects the sense of sth being gradually worn away(使...磨损),leading to harm or less。

(2)detrimental

adj. causing harm or damage.

When making changes to CPython, you need to verify that your changes do not have a significant detrimental impact on performance(《CPython Internals》第353页)。

2.median

(1)median

c. the value that is the middle one in a set of values arranged in order of size(中位数,中值)。示例:1.假设有一组数 1, 3, 3, 6, 7, 8, 9, 那么 median 是6。2.假设有一组数1, 2, 3, 4, 5, 6, 8, 9,那么 median 是(4+5)/2=4.5。

A benchmark will produce an average/median runtime of a fixed code snippet so that you can compare multiple versions of Python runtime(《CPython Internals》第353页。)

关于英语的注解同步更新汇总到 https://github.com/codists/English-In-CS-Books 仓库。

三、其它

今天没有什么想说的。

四、参考资料

1. 编程

(1) Anthony Shaw,《CPython Internals》:https://book.douban.com/subject/35405785/

2. 英语

(1) Etymology Dictionary:https://www.etymonline.com

(2) Cambridge Dictionary:https://dictionary.cambridge.org

欢迎搜索及关注:编程人(a_codists)

相关推荐
树獭非懒1 天前
AI大模型小白手册|Embedding 与向量数据库
后端·python·llm
唐叔在学习1 天前
就算没有服务器,我照样能够同步数据
后端·python·程序员
曲幽1 天前
FastAPI流式输出实战与避坑指南:让AI像人一样“边想边说”
python·ai·fastapi·web·stream·chat·async·generator·ollama
Flittly1 天前
【从零手写 AI Agent:learn-claude-code 项目实战笔记】(1)The Agent Loop (智能体循环)
python·agent
vivo互联网技术1 天前
ICLR2026 | 视频虚化新突破!Any-to-Bokeh 一键生成电影感连贯效果
人工智能·python·深度学习
敏编程1 天前
一天一个Python库:virtualenv - 隔离你的Python环境,保持项目整洁
python
喝茶与编码1 天前
Python异步并发控制:asyncio.gather 与 Semaphore 协同设计解析
后端·python
zone77391 天前
003:RAG 入门-LangChain 读取图片数据
后端·python·面试
用户8356290780511 天前
在 PowerPoint 中用 Python 添加和定制形状的完整教程
后端·python