Bun 0.8.1 バージョンがリリースされ、以前のバージョンの問題が修正されました

Bun v0.8.1 リリース。このリリースは 0.8.0 の翌日にリリースされ、いくつかの既存の問題とバグの修正に焦点を当てています。

まず第一に、新しいバージョンでは非常に重大な問題が解決されています。それは、不正な形式のバージョン名を扱うとbun installクラッシュするということです。これは、ユーザーが"^0.0.2rc1"などの無効なバージョン識別子を入力すると、システムが機能を停止することを意味します。Bun v0.8.1 では、開発チームがこの問題を修正し、bun installこのタイプの入力でクラッシュしないようにしました。ユーザーにとって、これにより操作の安定性と信頼性が向上し、全体的なユーザー エクスペリエンスが向上することは間違いありません。

さらに、別の重大な問題も修正されました。元々、パッケージャーは実行時に失敗することがわかってtry/catchいるブロック内で呼び出しを自動的にインライン化していましたrequire()。これは、オプションの依存関係を使用するコードをパッケージ化するときに便利でした。ただし、この機能は誤って有効になったため、場合によっては実行時エラーが発生する可能性がありました。この問題は修正され、コードの効率と安定性が大幅に向上しました。

さらに、Bun v0.8.1 では、node:httpプロキシ URL のバグ、bun install古いスクリプトの処理の問題package.jsonbun --inspectソース マッピングのバグなど、他のいくつかのバグも修正されています。これらの改善はすべて、Bun の全体的なパフォーマンスとユーザー エクスペリエンスの向上に役立ちます。

新機能の導入という点では、v0.8.1 バージョンでは Unix ドメイン ソケットのサポートが追加されています。この新しい機能により、ソケットがネットワーク ホスト/ポートではなくファイル システム上のファイルを指すようにすることができます。これは、一部のコンテナー環境やプロキシ環境など、同じマシンからのみアクセスできるサーバーを実行する場合に便利です。このようにして、データ送信の効率とセキュリティを効果的に向上させることができます。

const server = Bun.serve({
  unix: "/tmp/my-socket.sock", // <-- new option
  fetch(req){
    console.log(req.url);
    return new Response("Hello world!");
  }
});

console.log(`Listening on unix:///tmp/my-socket.sock!`);

パフォーマンスの最適化も、このアップデートの重要な内容です。v0.8.0 では、パフォーマンスの低下の問題があり、イベント ループのスケジューリングが十分に機能せず、その結果、リクエスト本文の読み取り時にマイクロタスク キューの処理が時間内に失敗します。しかし、v0.8.1 では、この問題は修正されました。テストの結果、新しいバージョンは v0.8.0 よりも 2.8 倍速くリクエストを処理し、ユーザーに顕著な速度向上をもたらすことが示されました。

Bun v0.8.1 バージョンではメモリ管理も改善されています。当初、そのサイズはガベージ コレクターに報告されませんでした。そのため、Headers十分な大きさがある場合、ガベージ コレクターが期待どおりに実行されない可能性がありました。Bun はと のサイズをガベージ コレクターに報告し、各呼び出しで使用されているメモリをガベージ コレクターに報告するようになりました。この変更は、メモリ リソースの管理を改善し、過度のメモリ使用による Bun の動作効率への影響を回避するのに役立ちます。BlobHeadersBlobHeadersBlobfetch()

最後に、Bun 1.0 は 9 月 7 日にリリースされる予定であることに言及する価値があります。この新しいメジャー バージョンでは、さらなる機能の改善とアップデートが行われます。その到着を一緒に楽しみにしましょう。

おすすめ

転載: www.oschina.net/news/255433/bun-v0-8-1