相关疑难解决方法(0)

如果从命令行运行Julia脚本,是否每次都需要重新编译?

我已经阅读了相当多的文档和问题,但我仍然对此感到困惑.

在文档的Profiling部分,建议首先在REPL中运行一次目标函数,以便在分析之前编译它.但是,如果脚本相当复杂并且打算在命令行中运行,接受参数怎么办?当julia进程完成并且我第二次运行脚本时,是否再次执行编译?像/sf/answers/2942853441/这样的帖子,Julia每次编译脚本?给出相互矛盾的答案.当朱莉娅不断发展时,它们似乎也老了.

在我看来,第二次运行所需的时间与我的经验中的第一次运行完全相同.启动时间很长.我该如何优化这样的程序?添加__precompile__()似乎根本没有改变执行时间.

另外,当我想描述这样一个程序时,我该怎么办?关于分析的所有资源都在REPL中讨论这样做.

profiling compilation read-eval-print-loop julia

5
推荐指数
2
解决办法
1199
查看次数

julia:可以(应该)在“解析时”捕获这种类型的错误吗?

不久前我问了一个类似的问题julialang:可以(应该)在编译时捕获这种类型的错误吗?,我想提出一个相关的问题。

function somefun()
    for i = 1:10e10; sin(i); end # a time-consuming loop                  
    
    nonexist_fun() # call to a non existing function => error
end
Run Code Online (Sandbox Code Playgroud)

这里nonexist_fun()调用了一个不存在的函数并导致错误。不幸的是,错误仅在运行时被发现,在花费很长时间在内部执行一些先前的指令之后somefun(),而不是在“解析时”。

题:

可以并且应该在初步的“解析时间”传递中发现这一点吗?

如果存在这样的“解析时间”选项,如何应用它?

否则,在运行之前检测和/或防止此类错误的推荐工作流程是什么,其中程序只有在已经浪费了很长时间执行后才会爆炸?

谢谢

parsing julia

0
推荐指数
1
解决办法
87
查看次数