同じRust製のBiomeとOxlintで、なぜ速度差が大きいのか
BRANK

はじめにこんにちは、デザインエンジニアのyamarinです。BiomeとOxlintは、同じRust製でどちらも速い印象がありますね。estie(エスティ)ではfrontendの静的解析ツールにBiomeを採用しており、Oxlintどんなもんかなと大体同じ条件で試してみたところ、条件次第でOxlintの方が約4.9倍速い結果となりました。同じRustなのになぜ差が出るのか気になったので、調べてみました!実測: 負荷を揃えて測る私の担当プロダクト(TS/TSX約800ファイル)で測った結果がこちらです。計測条件Biome 2.5.3Oxlint 1.77差通常lint(ルール構成を対応させ、両者ともTS/JSのみ・複数のファイルを跨ぐ解析なし)0.78秒0.16秒約4.9倍型認識lint(両者とも同じ6ルール)0.38秒5.98秒逆転(Biomeが約16倍)盛り盛り設定同士(Biomeは複数のファイルを跨ぐ解析+CSS)2.18秒0.46秒約4.7倍計測は以下のように行いました。# npx経由だと起動だけで1秒以上乗るので、ローカルバイナリを直接叩く # 両者とも交互に8〜10回実行し、その中央値を採用 $ time ./node_modules/.bin/biome lint --config-path=./biome-bench ./src $ time ./node_modules/.bin/oxlint -c .oxlintrc-bench.json --quiet ./src ち…

zenn.dev
Related Topics: Rust
1 comments
  • おもしろかった。BiomeはCST(Red Green Tree)を採用していてOxlintはASTなのかー。普通に両者の機能面での差などあんまりわかっていなかったので、そういう意味でも勉強になった。

    同じRust製のBiomeとOxlintで、なぜ速度差が大きいのか|yamarin zenn.dev/estie/articles… #zenn