取最值的差异
测试
测试内容:从一组 x, y, z 坐标值中获得每个维度(x、y、z)的值域范围。此处不考虑将数据临时存放到内存,再整组获取值域的操作(因为对单文件这么做问题不大,不太会有超级大的 obj 文件,但是对某个目录及其子目录下所有 obj 数据获取一个跨文件的值域范围时,很容易撑爆内存),如果只是对一个单 obj 文件统计值域则建议使用内存来换运算时间,但是这个测试点只是我的处理流程中一个原子函数,所以不考虑内存换时间的操作
最终结果:使用 if 判断比每次都尝试更新要快 ~20%
测试环境:python 3.11、win 11、debian 11(docker)
两个测试案例如下
- 使用 if 去判断大小,再更新值域
- 对每个 x, y, z 都尝试去更新值域
def bench_v1(obj_file):
x_min, y_min, z_min, x_max, y_max, z_max = float("inf"), float("inf"), float("inf"), float("-inf"), float(
"-inf"), float("-inf"