[英]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.