我在Python中創建了一個簡單的遞歸階乘函數。目前,我的電腦可以計算高達約10000的分解因子。對於高於該分辨率的值,python.exe會停止工作。所以,我的問題是這樣的:如果我想處理更大的因子,有什麼辦法可以做到這一點(通過使用多個核心等)?還是僅僅是Python的限制?我已經使用GPU爲Python腳本進行了檢查,但該方法似乎很複雜,並且因爲我的想法而令人費解。處理繁重的Python腳本
我已將遞歸限制設置爲100000,所以不應該是問題。
這是我的代碼:
import sys, time
sys.setrecursionlimit(100000)
def f(n):
if n==0:
return 1
else:
return n*f1(n-1)
謝謝您的幫助
告訴我們代碼 – depperm
*我已將遞歸限制設置爲10000000,因此不應該是問題*。除了所有這些遞歸調用幀都需要內存。 Python不會優化遞歸調用。 –
你爲什麼要那樣做?如果你正在使用整個內存使用多核心不會改變任何東西 – Hearner