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

相关推荐
❁满城风絮*8 小时前
Claude Code 学习总结
python·agent·claude
维克兜率天10 小时前
【维克】复合型CTA:趋势+套利的双轮驱动
python·学习方法
伞伞悦读10 小时前
【第76期】两张3行表左连接变5行:主键、validate与未匹配排查完整教程
人工智能·python
用户83562907805111 小时前
使用 Python 在 Excel 中添加和自定义迷你图
后端·python
用户83562907805111 小时前
使用 Python 在 Excel 图表中添加趋势线与回归方程
后端·python
特立独行的猫A11 小时前
一份 Markdown 发十个平台:cspub 一稿多投
java·后端·python
深蓝AI12 小时前
HTTPX 超时 1 秒,接口为何还能跑 2.4 秒?
python
CyrusYiVPP12 小时前
哪个用户会再来买?RFM模型+plotly画出用户分层,数据分析实战第2期
人工智能·python
李帅51514 小时前
用 CPU 做发票识别:从 OCR 文本行到结构化明细表的 4 个硬骨头
python
happylifetree14 小时前
Python79:核心语法-面向对象基础-实例方法
python