Turbocall:Deno FFI的即時編譯器

知識11個月前发布 AIWindVane
472 0

Turbocall:Deno FFI的即時編譯器

Turbocall:Deno FFI的即時編譯器

內容導讀

在由littledivy撰寫的部落格文章《Turbocall: Deno FFI的即時編譯器》中,揭示了Deno運行時中的一個引人注目的最佳化。 該文章深入探討了Deno如何利用名為Turbocall的即時(JIT)編譯器加速外部函數介面(FFI)呼叫。 這個用Rust編寫的編譯器根據提供的類型資訊產生了優化的FFI呼叫綁定,從而顯著提升性能- 在與Bun和Node.js等其他運行時進行基準測試時,Deno中的FFI調用速度提高了 100倍。 作者littledivy不僅知識淵博,而且曾在東京的DenoFest Meetup上就這個主題發表演講,顯示對這個主題有深刻的理解。 該文章突出了解釋了Turbocall如何繞過V8傳統的類型檢查和保護,允許從優化的JIT程式碼直接呼叫。 這是與常規做法的重大分歧,可能對與Deno和FFI合作的開發人員產生重大影響。 對於那些對JavaScript運行時的技術進步和FFI優化未來感興趣的人來說,這篇文章是必讀的。 它也預示了未來的發展,例如Static Hermes和`just-js/lo`的潛力,這可能進一步改變JavaScript引擎中的JIT編譯格局。

自動總結

– V8 Isolates是運行JS的沙盒,可以透過FFI呼叫本地函數。
– V8 Fast calls是V8中的最佳化,可以直接從最佳化的JIT程式碼中呼叫本地綁定。
– Deno FFI是Deno中使用V8 Fast calls的常見場景之一。
– Turbocall是Deno中的一個小型彙編器,用於根據類型資訊產生最佳化的FFI呼叫綁定。
– Turbocall使Deno中的FFI呼叫速度提高了100倍。
– Turbocall的實作細節可以在DenoFest Meetup的演講中了解。
– Turbocall與其他JS運行時的性能進行了比較。
– Static Hermes和just-js/lo是未來可能與V8 Fast calls競爭的引擎。
– 文件提供了作者的Twitter和PDF連結。

原文連結https://divy.work/turbocall.html

© 版权声明

相關文章

暫無評論

暫無評論...