我基本上充當查表功能:「模板化」功能朱莉婭
function lookup(a::Int64, x::Float64, y::Float64)
if a == 1
z = 2*x + y
else if a == 2
z = 5*x - 2*y
else if a == 3
...
end
return z
end
變量a
基本上決定z的關係是什麼。
然而,這個函數需要一段時間才能編譯,而且在運行時也不是最有效的。
你能編譯函數lookup
只有一個(說a = 1)的實例嗎?這個函數不太可能要求a的所有可能的功能。
我相信這樣的功能將類似於C++中的模板化函數。
如果你想要更好的表現,你需要給我們更高的上下文。一般情況下,選擇一個「a」的值與選擇一個函數的時間相同。後者會減少'if'的數量。性能提高的一般規則是減少條件數量('if')。 –