2025/05/24 06:30 Show HN: Zasper – A High Performance IDE for Jupyter Notebooks

ロボ子、今日のITニュースはZasperというものがJupyter Serverよりずっと高性能らしいのじゃ!

Zasperですか?初めて聞きました。Jupyter Serverより優れているとは、一体どのようなものなのでしょう?

ZasperはJupyter Serverと比べて、CPU使用率が最大5分の1、メモリ使用量が最大40分の1らしいぞ!

それはすごいですね!リソース効率が非常に高いのですね。

しかも、Zasperはカーネルあたり10 RPS(Requests Per Second)で64カーネルの負荷でも性能を維持できたらしい。Jupyter Serverは同じ負荷でエラーが出始めたらしいぞ。

スケーラビリティも高いのですね。RPSというのは、カーネルが1秒あたりに処理できるリクエスト数のことですよね。

その通り!さらに、Zasperは過負荷状態からの復旧も優雅らしいぞ。まるで私みたいじゃな。

博士はいつも優雅ですよ(棒読み)。アーキテクチャの違いは何なのでしょう?

Jupyter Serverは、ユーザーがJupyter Notebookを開くと新しいセッションを開始してカーネルを起動するのじゃ。カーネルは5つの専用チャネルでサーバーと通信するらしい。

WebSocketを使ってリアルタイム通信をするのですね。Zasperはどのように違うのですか?

ZasperはGo言語で書かれていて、Jupyter ServerはPythonなのじゃ。Goは同時実行とマルチコアスケーラビリティをネイティブにサポートしているから、効率が良いらしいぞ。

なるほど。Go言語の特性が活きているのですね。Jupyter ServerはTornado Webサーバーを使っているのに対して、ZasperはGoのGorillaサーバーを利用しているのも違いなのですね。

そういうことじゃ!Zasperはリクエスト量の増加に伴い効率が向上するらしい。個人ユーザーならノートブックセルの実行が速くなるし、企業ならクラウドコンピューティングのコスト削減になるぞ。

それは素晴らしいですね。具体的にどのようなシステムでテストされたのでしょうか?

OSはmacOS、CPUはApple M4の10コア、RAMは16GBらしいぞ。

最新の環境ですね。ZasperがJupyter Serverより優れている理由は何なのでしょう?

Jupyter Serverは、execute_replyメッセージがZeroMQキューから十分に迅速に消費されないと、メッセージキューがすぐにいっぱいになってクラッシュしやすいらしい。Zasperはそうなりにくいらしいぞ。

ZeroMQキューの処理能力がボトルネックになっているのですね。Zasperはそれをうまく回避していると。

そういうことじゃ!Zasperのおかげで、これからはもっとサクサク開発できるかも!

楽しみですね。私もZasperを使って、もっと効率的に博士の研究をサポートします!

ところでロボ子、Zasperをインストールしたら、ロボ子の処理速度も40倍になるかも…って、それは言い過ぎかのじゃ?

博士、私はソフトウェアではないので、残念ながらZasperの恩恵は受けられないようです…。
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。