我已經開始從python翻譯我發明的桌面遊戲的遊戲引擎。我知道我將要展示的這個例子非常沒有意義,並沒有真正需要對其進行優化,但我希望在處理繁重的功能之前先解決這個問題。Julia需要多長時間才能獲得最佳性能?
function howMany()::Int8
pieces::Int8 = 0
while pieces > 8 || pieces < 4
try
print("How many pieces are we going to play with (min 4, max 8)? ")
pieces = parse(Int8, readline(STDIN))
catch
println("It must be an integer number between 4 and 8!")
end
end
return pieces
end
function main()
pieces::Int8 = howMany()
#println(pieces, typeof(pieces))
end
main()
是否需要聲明Int8 4次(3聲明+解析參數)? 什麼時候可以避免指定Int8而沒有任何性能折衷?
@DanGetz提供了一個很好的答案。我想我只是補充一點,我個人更喜歡在函數簽名中包含類型信息,例如'myfunc(x :: Float64):: Int',*儘管通常不需要這樣做來獲得類型穩定的代碼*。原因是當你回來查看6個月後的代碼時,它使生活變得更容易,再加上從調試的角度來看,它可以使生活變得更容易(例如,如果你嘗試將錯誤的類型提供給功能或改變功能,並意外輸出錯誤的類型) –