日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

快的離譜! 新的 JS 運行時 WinterJS 來了!每秒 150k 請求,速度超過 Bun、Node.js

來源: 責編: 時間:2024-03-18 09:40:01 167觀看
導讀WinterJS 1.0 終于發布了!WinterJS 是一個使用 Rust 編寫的、與 WinterCG 兼容的 JavaScript 運行時,使用 SpiderMonkey 引擎執行 JavaScript,并使用 Tokio 處理底層的 HTTP 請求和 JS 事件循環。WinterJS 運行時還可以

WinterJS 1.0 終于發布了!3Zz28資訊網——每日最新資訊28at.com

WinterJS 是一個使用 Rust 編寫的、與 WinterCG 兼容的 JavaScript 運行時,使用 SpiderMonkey 引擎執行 JavaScript,并使用 Tokio 處理底層的 HTTP 請求和 JS 事件循環。WinterJS 運行時還可以編譯為 WebAssembly,并且因此是第一個完全可在 Wasmer Edge 中運行的生產級運行時。3Zz28資訊網——每日最新資訊28at.com

以下是我們在 WinterJS 1.0 中取得的成就,距離我們的首次公告僅過了四個月:3Zz28資訊網——每日最新資訊28at.com

  • 飛快的速度(比 Bun、WorkerD 和 Node 更快!)
  • WinterJS 現在完全兼容* WinterCG 規范
  • Cloudflare API 兼容性
  • Web 框架支持:Next.js(支持 React 服務器組件!)、Hono、Astro、SvelteKit 等

現在,讓我們更詳細地了解每個特性!3Zz28資訊網——每日最新資訊28at.com

飛快的速度

WinterJS 1.0 在本地執行時能夠處理 150,000 個請求/秒(使用 WASIX 編譯為 Wasm 后為 20,000 個請求/秒)。3Zz28資訊網——每日最新資訊28at.com

截至今日,WinterJS 比 Bun(117,000 請求/秒)、WorkerD(40,000 請求/秒)和 Node(75,000 請求/秒)處理更多的請求/秒(請參見基準測試)。3Zz28資訊網——每日最新資訊28at.com

圖片圖片3Zz28資訊網——每日最新資訊28at.com

WinterCG 兼容性

WinterCG 是負責定義一組全局類和函數的機構之一,這些類和函數需要存在才能在一組基礎架構上正確運行工作負載。3Zz28資訊網——每日最新資訊28at.com

自我們首次公告以來,我們已經添加了對完整一套 API 的支持,包括:3Zz28資訊網——每日最新資訊28at.com

  • Data fetching:fetch、URL、Request、Response
  • Files:Blob、File
  • Streams:ReadableStream、WritableStream、TransformStream*
  • Text Encoders:TextEncoder、TextEncoderStream、atob、btoa
  • Cryptography:crypto*

注意:變換流中的反壓和一些(非常見的)加密算法尚未實現。3Zz28資訊網——每日最新資訊28at.com

Cloudflare API 兼容性

我們希望確保大多數前端框架在 WinterJS 中都能無縫運行,無需額外處理。因此,我們有兩個選擇:3Zz28資訊網——每日最新資訊28at.com

  • 為每個前端框架創建全新的集成
  • 加入一個現有的提案

經過對 Deno、Cloudflare 和 Fastly 適配器的深入分析,我們意識到最強大的選擇是 Cloudflare,因為它已經支持了其他 API 框架的大部分功能,并且可能是最常用的。因此,我們決定采用 Cloudflare API 兼容性。3Zz28資訊網——每日最新資訊28at.com

為了支持 Cloudflare Worker 的工作負載,我們著手解決了四個主要方面的問題:3Zz28資訊網——每日最新資訊28at.com

  • 通過 import 語法支持 ES 模塊
  • 通過 Node.js 兼容性 API 支持
  • 通過node:async_hooks 支持 AsyncLocalStorage
  • 通過 _routes.json 支持調用路由
  • 支持文件系統結構
_worker.jsindex.htmlmystaticimage.jpg
  • 支持 Cloudflare 的 WinterCG 自定義 fetch API
export default { async fetch(request, env, ctx) {  return new Response('Hello World!'); },}

以及 env.ASSETS API,它允許通過 Rust 的超級優化的靜態 Web 服務器直接提供靜態資產,因此您可以執行:3Zz28資訊網——每日最新資訊28at.com

export default {  async fetch(request, env) {    const url = new URL(request.url);    if (url.pathname.startsWith('/api/')) {      // TODO: Add your custom /api/* logic here.      return new Response('Ok');    }    // Otherwise, serve the static assets.    // Without this, the Worker will error and no assets will be served.    return env.ASSETS.fetch(request);  },}}

[請在此處查看完整的自定義 Cloudflare fetch API:](https://developers.cloudflare.com/workers/runtime-apis/handlers/fetch/)3Zz28資訊網——每日最新資訊28at.com

在獲得所有這些功能之后,我們幾乎可以通過傳遞 --mode=cloudflare 來運行任何其他網絡框架。3Zz28資訊網——每日最新資訊28at.com

winterjs --mode=cloudflare output/static  # OR (using WASIX)wasmer run wasmer/winterjs --net --mapdir=output/static:/web -- --mode=cloudflare /web

現有 Web 框架的兼容性

由于與 Cloudflare Workers API 的新兼容性,我們現在完全支持以下框架,不僅可以提供框架生成的靜態網站,還可以讓這些框架進行服務器端渲染(SSR):3Zz28資訊網——每日最新資訊28at.com

  • Next.js(應用模板,演示)
  • Next.js React 服務器組件(應用模板,演示)- 注意:服務器端獲取緩存尚未實現
  • Hono(應用模板,演示)
  • Astro.build(應用模板,演示)
  • Remix.run(應用模板,演示)
  • Svelte(應用模板,演示)
  • Gatsby(應用模板,演示)
  • Nuxt(應用模板,演示)

支持 React 服務器組件

我們取得的最具挑戰性的成就之一是運行具有服務器組件支持的 Next.js 服務器,因此渲染可以完全在服務器端完成。3Zz28資訊網——每日最新資訊28at.com

努力使 React 服務器組件完全可用有助于我們發現我們的流實現與規范存在一些細微但重要的差異。我們還意識到我們的獲取實現有一些怪癖需要修復,但最終,在經過許多汗水和不眠之夜后,我們完全做到了!

本文鏈接:http://www.www897cc.com/showinfo-26-76506-0.html快的離譜! 新的 JS 運行時 WinterJS 來了!每秒 150k 請求,速度超過 Bun、Node.js

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: ASP.Net Core讀取配置文件的三種方法

下一篇: 如何使用增強現實優化數據中心和IT規劃

標簽:
  • 熱門焦點
Top 主站蜘蛛池模板: 松阳县| 凤山县| 理塘县| 上栗县| 天镇县| 东山县| 南安市| 登封市| 吴江市| 正定县| 当雄县| 闵行区| 东丽区| 德州市| 永宁县| 玉环县| 安化县| 法库县| 临武县| 永丰县| 双流县| 甘肃省| 稷山县| 辉南县| 舒兰市| 洪洞县| 南汇区| 普兰县| 安塞县| 永胜县| 云安县| 高青县| 东辽县| 武宣县| 迁安市| 平阳县| 绵阳市| 密山市| 兴海县| 邳州市| 烟台市|