我有一系列函数我想在运行之前编译,因为它们有点慢,但你只需要运行它们一次,所以没有必要预热它们。有没有办法做到这一点?
最佳答案
您打算precompile它?
编辑:
想多了,precompile
不能工作,因为你要求类型不稳定的功能。 Julia 是一种动态语言,没有什么可以阻止您编写一个函数,该函数根据参数和全局变量的值采用非常不同的代码路径。预编译只会知道参数的类型,并且可能无法编译您的函数调用的所有函数,因为它们可能尚未确定。
无论如何,重要的部分是您测量您打算测量的内容。微基准测试应该排除编译,但如果你测量你的整个程序,你必须使用一些判断。我的印象是,用户态代码的编译代码缓存将很快实现,然后编译时间将不那么重要。
关于jit - 如何在不运行 julia 函数的情况下预热它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21388804/