SpiderMonkey与JavaScriptCore相比如何?

7
我有一个C++桌面应用程序(使用wxWidgets编写),我想添加对某种脚本语言的支持。
脚本主要用于用户提供的JavaScript代码运行时转换字符串,数字和日期。
我想使用JavaScript,因为它被广泛使用且每个人都熟悉其语法。
在谷歌上搜索,似乎我有两个选择:
1. 来自Mozilla的SpiderMonkey 2. 来自WebKit的JavaScriptCore 有人试过这些吗?哪一个设置更容易? 您是否知道其他实现更适合我的需求?
顺便说一句,我目标是Windows和Linux平台。
3个回答

13

6
当然,您也可以使用Lua,它不仅专门为此设计,而且比任何JS都要快得多。此外,它具有良好的语义、非常简洁的C API、出色的可移植性、非常成熟的JIT、我见过的最有帮助的在线社区等等...

2
无论您将哪种语言嵌入到应用中,都必须公开一些特殊的API。在不到100行Lua代码中,就可以添加一些日期管理能力。然而,“不引入新语言”的问题确实存在。 - Javier
3
“vastly faster than any js”? [citation needed]! Link please. “比任何JS代码都快得多”?需要引用!请提供链接。 - Sean McMillan
@Sean McMillan,不幸的是,好的基准测试很少见。此外,请看日期:在过去的几年中,JS已经发生了很大的变化。尽管如此,Lua并没有停滞不前,而且LuaJIT 2.0已经在许多高性能任务上超越了Java,在某些(真实)情况下,甚至比大多数C编译器更好。 - Javier
实际上,Lua并不总是更快。我认为Google V8比Lua快得多。 - Sam Bloomberg
3
LuaJIT2的性能大约比V8快4倍。对于大多数事情而言,LuaJIT2几乎接近于C语言的水平。 - Steven
显示剩余2条评论

3

JavaScriptCore有一个稳定的C API(和ABI),并且已经作为标准系统框架在macOS上可用(并被使用)。

[编辑:哦,它也可以作为一个独立的库在Linux和Windows上运行,尽管我相信只有Debian将其作为这样的分发]


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