Haxe如何加快编译速度(选择最快的目标)

3
我目前正在使用Haxe,具体来说是haxeflixel开发。一个让我非常烦恼的事情是构建/编译时间。我甚至没有编译到c++目标,而是决定编译到neko vm,因为我认为这可能更快。然而,每次我想要看到结果时,调试neko(或发布版本)的编译时间约为4或5秒。等待这么长时间真是可怕 :).
我甚至尝试了用-v命令进行调试,最耗时的部分是:
Running command: BUILD
 - Copying library file:     

C:\HaxeToolkit\haxe\lib\lime/2,9,1/legacy/ndll/Windows/lime-legacy.ndll ->   export/windows/neko/
bin/lime-legacy.ndll

- Running command: haxe export/windows/neko/haxe/release.hxml

从上面的摘录中,似乎一切都表现得很正常,但这让我感到担忧,因为我不希望正常情况下速度如此缓慢。

现在,对于某些人来说,4或5秒可能并不算太多,但是随着Golang、Javascript、Java和其他编译速度更快的语言的出现,我已经被宠坏了。有没有其他我不知道的目标可以编译,比neko vm编译更快?是否有任何方法可以增加编译速度或进一步调试编译缓慢的原因?


考虑到在专业游戏开发中使用的脚本编写。 - Dlean Jeans
2个回答

5
您可以考虑使用编译服务器:
  1. 从终端运行 haxe --wait 6000
  2. 在您的 hxml 文件中添加 --connect 6000
这将使您的构建使用编译服务器,它会缓存未更改的模块并仅编译更改的模块。这将加速您的构建过程。

这第一次构建很顺利,但是第二次构建会产生错误:
lime test neko --connect 6000 C:\HaxeToolkit\haxe\std/haxe/macro/Compiler.hx:250: 第250-264行:无效的字段访问:__a <null pos>:1: 字符0 :调用自 已中止
- efel
这可能是编译器中的一些错误导致的,您正在使用哪个版本的Haxe?另外,您应该尝试使用刚刚发布的最新Haxe(3.4) 。 - KevinResoL
我正在使用haxe 3.4.0和lime 2.9.1。 - efel
嗯,我对lime没有太多的了解,因为我不使用它。也许你可以向haxe或lime存储库报告此问题。 - KevinResoL
尽管此时它无法正常工作,但我将接受它作为正确答案。我提交了一个错误报告,看起来这是一个Haxe问题。然而,根据文档,这应该可以工作。 - efel

1

我曾经也面临过快速运行大量单元测试的类似问题。最终我选择构建JS并在node中运行测试。

如果再搭配gulp来构建代码和处理资源,事情就能非常快速地完成。


构建HTML仍然需要相当长的时间。这是你正在做的吗? - efel
很遗憾,我没有使用lime :/ - Christopher Mandlbaur

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接