美文网首页
Julia代码第一次运行慢的解决办法

Julia代码第一次运行慢的解决办法

作者: 昵称违法 | 来源:发表于2020-03-15 18:12 被阅读0次

    Julia运行前,会对代码进行编译,所谓的慢,就是他的编译需要时间。

    运行Julia有点像调试C#程序,点了F5后,需要给他一段时间进行编译。

    julia的jit意思就是,每次运行的时候,先对代码进行编译,然后缓存。与C#不同之处在于,我们用C#写的程序,一旦开发完成,就发布出来,生成exe,以后直接调运行,不执行编译。

    但是Julia不一样,它不是生成exe永久保存,每次运行,他都从jl文件代码开始搞,语法检查,词法分析,编译,运行。所以你会觉得,为什么python一运行里面就有反应,二Julia却好久没反应。

    解决办法:
    一、预编译指令,precompile,具体效果我也没搞清楚,刚刚找到这个资料,请参考# Precompile a script?

    二、在执行正式任务前,先执行一个小任务,目的就是把编译过程完成,把缓存编译结果。
    目前我有一个计算模块【对600只股票进行同样的计算】:用python需要400秒
    用julia第一次执行,需要15秒
    第二次执行,只需要2.5秒

    改进方法,在正式计算600只股票的数据之前,我先计算一只股票的数据,然后再计算600只股票的数据。

    三、其他方法:是否能提前编译成dll之类。。。。。。

    题外话:
    网上看到一个网友说,他在回测中要进行交易撮合模拟,以前用python极难加速,因为业务复杂,不能很好的使用矢量计算、cpyton,numba等技术,都是一大串循环,他改成julia后,速度比较可观。
    这个我也比较能理解,我也碰到过必须要用循环的情形,那简直痛哭流涕。。。。。。

    相关文章

      网友评论

          本文标题:Julia代码第一次运行慢的解决办法

          本文链接:https://www.haomeiwen.com/subject/fzguehtx.html