Skip to main content
 首页 » 编程设计

python 3.3、2.7 和 2.6之基准测试结果不一致。怎么修

2025年05月04日10telwanggs

我使用这个 python 脚本:

python2.6 和 2.7

for i in xrange(1000000):print i 

python3.3

for i in range(1000000):print(i) 

结果:

python 2.7

real    1m15.973s 
user    0m3.392s 
sys 0m6.384s 

python 2.6

real    1m15.860s 
user    0m3.064s 
sys 0m6.296s 

在 python 3.3 中,我多次测试脚本,并收到运行时的差异。

python 3.3

real    1m34.235s 
user    0m10.668s 
sys 0m8.988s 
 
real    1m29.431s 
user    0m10.304s 
sys 0m9.512s 
 
real    1m12.528s 
user    0m10.568s 
sys 0m9.004s 
 
real    1m4.193s 
user    0m9.688s 
sys 0m8.812s 
 
real    1m18.332s 
user    0m9.728s 
sys 0m9.132s 

之后,我再次尝试 python 2.6,我得到了这个:

real    0m45.003s 
user    0m3.056s 
sys 0m5.956s 

对 2 个 python 脚本 3.3 和 2.7(或 2.6)进行基准测试的最佳方法是什么。

请您参考如下方法:

使用 timeit module比较小的 Python 片段。它避免了常见的陷阱,使时序值具有可比性。

但是,在为 print i 计时(以及在 Python 3 中,编码为终端编解码器)时,您主要是在为 sys.stdout 计时写入速度。