我有一系列我想在运行之前编译的函数,因为它们有点慢,但你只需要运行它们一次,所以没有必要让它们升温。有没有办法做到这一点?
答案 0 :(得分:5)
您打算precompile吗?
修改强>
考虑到这一点,precompile
无法正常工作,因为你要求类型不稳定的功能。 Julia是一种动态语言,没有任何东西可以阻止你编写一个函数,它根据参数和全局变量的值采用一个非常不同的代码路径。预编译只知道参数的类型,可能无法编译函数调用的所有函数,因为它们可能尚未确定。
无论如何,重要的是衡量你想要衡量的东西。微型标记应该排除编译,但是如果你测量整个程序,你必须使用一些判断。我的印象是,用户域代码的编译代码的缓存将很快实现,然后编译时间将不那么重要。