You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中//与+ - * /基本运算速度对比测试方法是否正确?

你的Python运算速度测试方法存在明显问题

核心问题:常量折叠导致测试无效

Python的解释器在编译阶段会做常量折叠优化——像10//3、10-3这种固定常量之间的运算,会被提前计算出结果(比如10//3的结果3会直接存在字节码里)。你的循环里其实只是反复把同一个固定值赋值给a,根本没重复执行运算逻辑,测的只是循环+变量赋值的开销,完全反映不了运算本身的速度。

其他问题:单次测试误差大

系统后台进程、线程调度等因素都会影响单次运行的耗时,单次结果的参考价值极低,必须多次测试取平均值才能降低随机性干扰。

修正后的测试方案

要真正测到运算速度,得让运算的操作数是动态变化的(比如用循环变量x参与运算),同时多次测试取平均:

import time

def run_test(op_func, iterations=10**6):
    start = time.time()
    for x in range(iterations):
        op_func(x)
    return time.time() - start

# 定义要测试的运算
def subtract(x):
    return x - 3

def floor_divide(x):
    return x // 3

# 多次测试取平均
sub_test_results = [run_test(subtract) for _ in range(5)]
div_test_results = [run_test(floor_divide) for _ in range(5)]

print(f"减法平均耗时: {sum(sub_test_results)/5:.6f} 秒")
print(f"地板除平均耗时: {sum(div_test_results)/5:.6f} 秒")

这样修改后,解释器无法提前优化运算逻辑,能真实反映两种运算的执行速度差异,多次测试的平均值也能有效降低误差。

内容的提问来源于stack exchange,提问作者Miraboreasu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 19:45:57