我已经开始从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个月后的代码时,它使生活变得更容易,再加上从调试的角度来看,它可以使生活变得更容易(例如,如果你尝试将错误的类型提供给功能或改变功能,并意外输出错误的类型) –