gpt4 book ai didi

python - 为什么 python timeit 结果与 shell 的时间命令相矛盾?

转载 作者:太空宇宙 更新时间:2023-11-04 11:14:09 25 4
gpt4 key购买 nike

我不太确定我在这里遗漏了什么,但看起来 shell 中的 time 报告了更高的命令值,而 python 中的 timeit 报告了更少的值。实际上看起来 time 数字是正确的。发生了什么事?

time python -m timeit 'd={"i": 1}; d.update({"i": 2, "j": 3, "k": 4})'

导致:

1000000 loops, best of 3: 0.373 usec per loop (timeit)           
1.54s user 0.00s system 99% cpu 1.545 total (time)

time python -m timeit 'd={"i": 1}; d = dict(d, **{"i": 2, "j": 3, "k": 4})'

导致:

1000000 loops, best of 3: 0.43 usec per loop (timeit)            
1.77s user 0.00s system 99% cpu 1.778 total (time)

time python -m timeit 'd={"i": 1}; d[“我”] = 2; d[“j”] = 3; d["k"] = 4'

导致:

10000000 loops, best of 3: 0.145 usec per loop (timeit)
5.98s user 0.00s system 99% cpu 5.986 total (time)

最佳答案

  • time 告诉您运行基准测试需要多长时间
  • timeit 告诉您运行基准测试所要测量的代码需要多长时间

这是两个截然不同的东西。 time 包括启动解释器的所有开销;收集有关您的个人基准测试运行时间的统计数据;解释这些结果;进行任何因不稳定或统计上不合适而被丢弃的额外运行;在定时调用之间执行垃圾收集;等

关于python - 为什么 python timeit 结果与 shell 的时间命令相矛盾?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57420622/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com