装载在伊莎贝尔预编译堆图像(loading a precompiled heap image in

2019-10-19 16:06发布

以下是如何使用的持久堆图像对做装载-的-理论-快-在-伊莎贝尔和另一个建议,我创建了标称伊莎贝尔的图像:

isabelle build -v -b -d . Nominal2

:堆图像下〜/ .isabelle创建

.isabelle/Isabelle2013-2/heaps/polyml-5.5.1_x86-linux/Nominal2

然后,我开始

isabelle jedit -d /path/to/Nominal-distribution -l Nominal2

我希望该系统能够快速加载一个理论,即进口的名义一部分,但它花了将近一分钟。 那是平常?

Answer 1:

你的建筑堆图像的过程看起来是正确的。 事实上,你实际上并不需要的isabelle build的步骤,因为isabelle jedit如果堆不存在或不是最新的,系统会自动构建。

你可以决定是否isabelle jedit是基于两个事实使用堆:

  • 如果需要建立一个堆,你会看到一个对话框弹出显示当您第一次启动jEdit的构建过程。 这通常需要10秒到几个小时,这取决于需要构建堆的大小。 下面的屏幕截图示出了构建对话框的示例; 在这种情况下,我建立了Main堆:

  • 如果不使用堆在所有(举例来说,如果你忘了指定-l Nominal2 ),所有的理论Nominal2包括将需要的jEdit被打开了,你会看到他们在jEdit的“理论”面板。

    在下面的图像中,例如, Scratch导入文件AutoCorres ,这反过来进口MapExtraPaddingBitOperations ,等等。 如果我用的是正确的AutoCorres堆,这些档案都将需要加载,因为他们已经被预编译成堆:

即使伊莎贝尔使用堆,它仍然有在启动时将其加载到内存中。 这通常需要几秒钟,当由自身的jEdit的未特别-惊人的启动时间复利,可能是你正在经历。



文章来源: loading a precompiled heap image in Isabelle
标签: isabelle