[英]How to speed up nested for loops with function call in python 3?
我一直在尝试使用Pygame为python 3创建3D图形库。 我想使用Z-Buffer,所以我需要为每个应该绘制的像素调用函数。 问题是绘制100x100像素矩形需要1毫秒以上的时间。 矩形的绘制函数是带有函数调用的嵌套循环,可以将其简化为以下代码以显示最大的瓶颈:
def another_function():
pass
def test_function():
for j in range(100):
for k in range(100):
another_function()
不执行任何操作的函数another_function()总计被调用10000次。 当我测量执行时间时,timeit显示test_function()花费1.09毫秒。 这太长了,因为必须绘制多个矩形并达到每秒60帧的速度,一帧的时间必须少于17毫秒。
我尝试搜索解决方案,但除了使用PyPy和Cython之外,我无法找到任何方法来通过函数调用提高嵌套循环的速度。
附加信息:我正在将Python 3.5.2和Windows 10 64位作为操作系统使用。 我没有找到适用于Windows的PyPy的任何安装程序,并且Cython在编译转换为.c的模块时遇到问题,因此我无法使用它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.