《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)

相关推荐
幻想时空27 分钟前
地图数据采集
python
梦想不只是梦与想27 分钟前
Python 中的类型判断方法
python·type·isinstance
alphaTao1 小时前
LeetCode 每日一题 2026/7/27-2026/8/2
python·算法·leetcode
Kevin Wang7271 小时前
Nvidia-AGX-spark部署手册——课堂质量诊断(jetpack:r36)
python·docker·容器
Python私教2 小时前
Django 6.1 RC1 实测:FETCH_PEERS 两条 SQL 解决 N+1,select_related 还需要吗?
后端·python·django
玉鸯3 小时前
Agent 的任务编排:从 System Prompt 到 Hierarchical Multi-Agent
python·llm·agent
Python私教3 小时前
Django 6.0 自带 Tasks 到底能不能替代 Celery?跑完 3 组后台任务后我有答案了
后端·python·django
我的xiaodoujiao3 小时前
快速学习Python基础知识详细图文教程14--模块
开发语言·python·学习·测试工具
残影飞雪3 小时前
Ollama对话脚本
python
jerryinwuhan3 小时前
数据预处理技术 2026-2027-1 开篇-课程介绍
大数据·python