Upgrade to Pro — share decks privately, control downloads, hide ads and more …

爆速なPythonフレームワーク

Sponsored · SiteGround - Reliable hosting with speed, security, and support you can count on.

 爆速なPythonフレームワーク

高速に動作するというPythonのフレームワークであるBlacksheepについて調べました。
どんなフレームワークなのか、流行の FastAPI とどう違うのかなどの視点や、実際の速度の計測の結果などを話します。

Avatar for biwakonbu

biwakonbu

May 10, 2024
Tweet

More Decks by biwakonbu

Other Decks in Technology

Transcript

  1. 自己紹介 1 株式会社 coroutine 東川 諒央 @biwakonbu 大学教員 ゲームバックエンド フリーランス

    経歴 Go Python 実績言語 Ruby 技術顧問 エンジニア教育 業務 設計 プログラミング インフラ etc… Rust Haskell TypeScript 趣味言語 Lisp F#
  2. 爆速なPythonフレームワーク 2 ❏ FastAPI? 違います Blacksheep です ❏ Python 製で高速なフレームワークで名高い

    FastAPI よりも高速です ❏ DI を採用していて、Flask や .NET に影響を受けてます ❏ OpenAPI ももちろん採用しています ❏ サーバーは uvicorn なので FastAPI や Django と同じです
  3. どれくらい爆速なのか? 3 ❏ FastAPI で下のコードのような簡単なレスポンスの API を作り、計測しました ❏ Apache Bench

    でローカルで試験したため正確性には難があります ❏ 1 つの指標くらいで見てください ❏ FastAPI: 4249 req/sec ❏ Blacksheep: 5291 req/sec ❏ 25% 程度パフォーマンスが高い事が分かります ❏ ※ あくまでも Routing までの実装のパフォーマンス差です   実際の API はここに DB への接続やロジックの実行などが入るため   言語の速度に準じた結果に寄ると思います ❏ Cython で多くの部分が書かれているため高速になっているようです
  4. 何ができるのか? 4 ❏ 特徴的なのは DI (Dependency Injection) をサポートしている事 ❏ Python

    のフレームワークでは珍しい気がします ❏ .NET ASP Core に影響を強く受けているのはここかと思います
  5. まとめ 5 ❏ 噂どおり速かった ❏ でも Robyn が最速っぽいです (公表値は Blacksheep

    の 1.5 倍らしいです) ❏ 基本的に求められる事はほぼできる印象です ❏ FastAPI, Flask に似ているので取っつき易さがありそうでした ❏ ドキュメントも割としっかり存在してました ❏ ORM は SQLAlchemy とか Tortoise ORM とかがサポートされています ❏ 情報量や拡張だと FastAPI の方が多いのでどっちを取るかになりそうです ❏ マイナーなのでサポートが続くかが分からないのが一番の問題ですね ... ❏ GitHub Star が 1.7k なのでまだまだこれからという感じ