当试图编写类型稳定的代码,检查使用时@code_warntype
,我应该只担心没有任何Any
或Union
在变量部分或我还应该检查正文部分?
根据您的julia版本,@code_warntype
有时可以标记某些无害的表达式.通过一些练习,您可以轻松识别这些表达式(例如,它们通常与模块/名称查找有关).
正如Reza所说,简单的路径是查看变量部分和函数的返回类型; 如果你没有看到任何类型不确定的数量(s Any
或Union
s),你可能没有什么可担心的.如果你想深入挖掘,开始尝试理解它正在萎缩的身体表情.对于学习,一个有用的事情是将结果与获得的结果进行比较track-allocation
,因为真正的类型不稳定性与内存分配有关.
但是,我认为问题@code_warntype
已经在当前的主人身上得到了解决,所以在任何情况下,julia的下一个版本都应该更容易解释.