Haxe编译了代码性能

时间:2013-08-14 00:55:51

标签: performance haxe

Haxe如何编译代码在性能上与其不同的目标进行比较?

例如,来自Haxe的PHP是否比原始PHP代码更快或更慢?

Javascript怎么样?闪? C ++?等

那里有没有严肃的基准?

2 个答案:

答案 0 :(得分:15)

我不知道那里有什么基准测试,目标平台肯定会有所不同,所以我想这只是答案的一半。但这里有一些一般性观点:

  • 如果您搜索,您可以找到几个基准测试,比较OpenFL / NME和Flash。一个例子是this one

  • 对于CPP,我被告知事情比常规C ++略慢。我认为手动优化的C ++可以获得更快的速度。来自HXCPP here

  • 的创建者的示例基准
  • 对于JS,我知道Haxe坚持使用相对最佳的性能方法。例如,Haxe的严格类型性质倾向于使用Javascript JIT编译器获得最佳性能,因此Haxe代码与编写良好的Javascript相当。 (注意,我在这里谈论常规JS,而不是canvas / openFL图形的东西 - 显然这需要你自己的基准测试)。

  • 对于PHP,我不确定Haxe如何生成PHP与手写PHP相比。我可以告诉你的是,你几乎可以无缝地从PHP切换到Neko(两者都可以轻松地在apache上运行),你会得到比手写PHP更快的代码。你的瓶颈将来自数据库访问等,而不是代码执行。

  • 对于flash,搜索一下你可能会找到基准测试。 Haxe为您提供了一些编译时功能,例如泛型,类型安全和函数内联,这可以帮助运行时性能。

<强>总体

Haxe带来的最大性能提升不是将其与同一语言的手写代码进行比较,而是可以毫不费力地切换到更快的平台。用PHP写,切换到neko - &gt;巨大的加速。写入Flash,切换到OpenFL(C ++) - &gt;巨大的加速。

希望其他人可以发布更多相关基准的链接:)

答案 1 :(得分:2)

您可以查看这篇文章。它比较了Haxe编译器。 PHP似乎是5个目标编译器中最慢的。 https://hal.inria.fr/hal-01356849/document