[英]Can V8 be installed in an embedded chip?
在我经常看到的一个频道中,有人问了以下问题:
这家试图雇用我的公司正在做普通的 javascript 和 jquery。 没有反应,或任何其他框架。 JQuery 是众所周知的最骇人听闻的狗屎,在 2020 年他们仍然没有使用更好的东西,这不是很奇怪吗? 你会接受这样的提议吗? [1]
这让我想到:当然,如果一家公司正在做任何事情,它有一个很好的理由,将 javascript 推到运行它没有意义的地方是很受欢迎的。 销售点系统、嵌入式系统,它们没有多少资源可供使用。 因此,您尽可能地切入每一个角落,以从您尝试使用的芯片中获得更多性能。 这样的想法让我想起了马克扎克伯格说过“Facebook浪费了太多时间试图在 javascript 和 HTML5 而不是原生实现移动应用程序”[2]。 我似乎无法找到消息来源,但我确实听到了一些谣言,说他被一些公司迅速证明是错误的,这些公司了解 javascript 如何在移动设备上工作的来龙去脉。 这个想法让我开始思考以下问题:
最后一个问题更像是一个修辞问题。 但我会很感激任何意见。
V8 开发人员在这里。 正如评论者所指出的,这个问题有点太模糊了,无法给出一个可靠的答案(而且这里可能也不是真正的主题),但我可以提供一些想法。
V8 有一定的硬性要求,例如:
除此之外,这只是您希望事情多快的问题。 除了平台兼容性要求之外,如果您愿意等待足够长的时间,几乎所有软件都可以在几乎任何硬件上运行。 曾经见过 Raspberry Pi 在 Pentium-133 上启动常规 Linux 发行版或 Windows XP 吗? 它有效,但速度很慢; 人们在更快的硬件上花费大量金钱是有原因的;-)
在这方面还有一些考虑:
说到 C/C++ 与 JavaScript:很难比较。 简短的回答是 C 更快,但这取决于。 您可以在动态编译代码具有优势的情况下制作微基准,因此 JavaScript 会更快。 通常,与手动 memory 管理相比,自动垃圾收集等语言功能会花费百分之几的性能。 通过 JIT 编译来缓解动态语言的缓慢性同样需要花费一些时间,因为这是 CPU 必须做的额外工作。 在足够快的硬件上,所有这些开销通常都足够小,无关紧要,但是当您运行硬件完全可以做的限制时(同时仍然满足用户对性能的期望),那么评估可能会改变。
对于一个完整的答案,这是一个太多的问题,但是。
没有 V8 不能在微控制器上运行。 也许是微处理器。 但是是的,您可以在微控制器上运行 javascript。 Espruino就是一个很好的例子。 我不知道它的速度,但它似乎能够填补业余爱好者对微控制器进行编程的空间。 就像 micropython 一样。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.