[英]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.