本机真实用cProfile对fib(22)这一个朴素递归调用做性能分析,真实统计出57313次函数调用只花了0.008秒。
本机真实用timeit对sum(range(100))连续测3次number=1的单次耗时,真实拿到完全不同的三个数字,验证正确用法该怎么设置number和repeat。
本机真实分配20万个bytearray后del+gc.collect(),用resource.getrusage真实测得进程RSS没有下降反而多涨了16字节。
本机真实用tracemalloc对比两次快照,直接定位到真正在增长的两行代码,比RSS这种黑盒指标精确到了代码行级别。
本机真实对20万元素跑5种真实计时对比,列表推导式建完整列表真实最快,map+lambda反而真实最慢。
本机真实给递归fib加上@lru_cache后,fib(30)真实只调用了31次,验证lru_cache怎么把指数级递归压成线性。
本机真实创建weakref.ref并绑定回调,del原对象后真实ref()立刻变成None、回调真实被触发,WeakValueDictionary真实自动清理失效key。
本机真实用Python 3.14跑50个asyncio任务,真实验证它们全部只用了1个OS线程,并发50个任务的真实耗时(0.1s)跟串行50个任务的真实耗时(5s)差了50倍。
本机真实对比await两个裸协程(0.4023s)和await两个Task(0.2011s)的耗时差距,验证Task真实是在create_task那一刻就被调度上事件循环的,不是等你await才开始跑。
本机真实让1个任务用time.sleep(0.5)阻塞,另外3个任务只需要asyncio.sleep(0.1),真实验证这3个任务被拖到了0.6秒才完成,跟全部用asyncio.sleep时的0.1秒完成形成鲜明对比。
本机真实跑一个CPU密集任务,单线程串行2.32秒,2个线程并发2.37秒(GIL下完全没提速),2个进程并发1.17秒(真实提速约2倍),10核CPU真实验证multiprocessing才能绕开GIL。
本机真实测Queue传输1000万个float64(0.19秒)、Pipe做2000次ping-pong(平均17微秒/次)、shared_memory让子进程零拷贝原地修改数组,三种跨进程通信方式真实的代价完全不同。