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

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

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

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

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

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

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

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

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

飛快的速度

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

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

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

WinterCG 兼容性

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

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

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

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

Cloudflare API 兼容性

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

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

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

為了支持 Cloudflare Worker 的工作負載,我們著手解決了四個主要方面的問題:uT828資訊網——每日最新資訊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 服務器直接提供靜態資產,因此您可以執行:uT828資訊網——每日最新資訊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/)uT828資訊網——每日最新資訊28at.com

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

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

支持 React 服務器組件

我們取得的最具挑戰性的成就之一是運行具有服務器組件支持的 Next.js 服務器,因此渲染可以完全在服務器端完成。uT828資訊網——每日最新資訊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 主站蜘蛛池模板: 兴山县| 晋中市| 上林县| 宿州市| 大田县| 濉溪县| 麦盖提县| 托里县| 乌兰浩特市| 鄂伦春自治旗| 怀集县| 江都市| 剑河县| 望都县| 德兴市| 攀枝花市| 鹿泉市| 沈阳市| 招远市| 南召县| 获嘉县| 合江县| 巩留县| 工布江达县| 四子王旗| 沧州市| 甘肃省| 平乐县| 华容县| 明溪县| 南木林县| 张家界市| 宁海县| 黄大仙区| 武功县| 甘德县| 南昌县| 聂荣县| 浙江省| 溆浦县| 阆中市|