Python Numbers Every Programmer Should Know
5 months ago
- #benchmark
- #python
- #performance
- Python性能基准测试涵盖内存使用、基础操作、集合类型、JSON序列化、Web框架、文件I/O、数据库操作和异步开销
- 内存开销:空Python进程占用15.73MB,空字符串41字节,小整数28字节,空列表56字节,空字典64字节
- 基础操作:整数加法耗时19.0纳秒,列表追加28.7纳秒,列表推导式(1000项)9.45微秒
- 集合类型:字典键查找21.9纳秒,集合成员检查19.0纳秒,列表成员检查(1000项)3.85微秒
- JSON序列化:orjson.dumps(复杂对象)310纳秒(320万次/秒),标准库json.dumps()2.65微秒(37.68万次/秒)
- Web框架:FastAPI(返回JSON)8.63微秒(11.59万请求/秒),Django18.1微秒(5.54万请求/秒)
- 文件I/O:打开关闭文件9.05微秒,读取1KB文件10.0微秒,写入1MB文件207微秒
- 数据库:SQLite插入(JSON数据)192微秒(5200次/秒),MongoDB按_id查询121微秒(8200次/秒)
- 异步开销:run_until_complete(空任务)27.6微秒(3.62万次/秒),asyncio.sleep(0)39.4微秒(2.54万次/秒)
- 核心结论:Python对象内存开销显著,字典/集合查找极快,第三方JSON库比标准库快3-11倍,异步存在可测量开销