Skip to content

oxc-project/bench-javascript-linter

Repository files navigation

Benchmark for Oxc, Biome and ESLint

Summary

Oxlint is 50x - 100x faster than ESLint depending on the number of CPU cores.

Oxlint is ~2x faster than Biome.

Setup

See bench.sh.

Oxlint vs Biome

MacBook Pro M2 Max

Benchmark 1: oxc
  Time (mean ± σ):     138.6 ms ±   2.1 ms    [User: 673.9 ms, System: 163.2 ms]
  Range (min … max):   133.9 ms … 143.2 ms    20 runs

  Warning: Ignoring non-zero exit code.

Benchmark 2: biome
  Time (mean ± σ):     377.2 ms ±   6.3 ms    [User: 2827.2 ms, System: 340.6 ms]
  Range (min … max):   372.0 ms … 393.9 ms    10 runs

  Warning: Ignoring non-zero exit code.

Summary
  oxc ran
    2.72 ± 0.06 times faster than biome

Macbook Pro M4 Max, 64 GB

Benchmark 1: oxc
  Time (mean ± σ):      98.2 ms ±  20.5 ms    [User: 514.3 ms, System: 186.3 ms]
  Range (min … max):    91.4 ms … 208.2 ms    31 runs

  Warning: Ignoring non-zero exit code.
  Warning: Statistical outliers were detected. Consider re-running this benchmark on a quiet system without any interferences from other programs. It might help to use the '--warmup' or '--prepare' options.

Benchmark 2: biome
  Time (mean ± σ):     244.5 ms ±  18.0 ms    [User: 2047.0 ms, System: 392.9 ms]
  Range (min … max):   232.4 ms … 299.9 ms    12 runs

  Warning: Ignoring non-zero exit code.

Summary
  oxc ran
    2.49 ± 0.55 times faster than biome

Macbook Air M3, 24 GB, 8 core (4 performance cores, 4 efficiency cores)

Benchmark 1: oxc
  Time (mean ± σ):     150.7 ms ±   2.9 ms    [User: 640.7 ms, System: 152.2 ms]
  Range (min … max):   146.8 ms … 158.8 ms    20 runs

  Warning: Ignoring non-zero exit code.

Benchmark 2: biome
  Time (mean ± σ):     498.8 ms ±   4.1 ms    [User: 2729.6 ms, System: 315.9 ms]
  Range (min … max):   492.7 ms … 507.8 ms    10 runs

  Warning: Ignoring non-zero exit code.

Summary
  oxc ran
    3.31 ± 0.07 times faster than biome

Oxlint vs ESLint v9

MacBook Pro M2 Max 12 Cores (8 performance and 4 efficiency)

Benchmark 1: oxc
  Time (mean ± σ):     499.6 ms ±   9.0 ms    [User: 2485.7 ms, System: 165.2 ms]
  Range (min … max):   489.6 ms … 516.1 ms    10 runs

  Warning: Ignoring non-zero exit code.

Benchmark 2: oxc-single-thread
  Time (mean ± σ):      1.824 s ±  0.035 s    [User: 2.079 s, System: 0.134 s]
  Range (min … max):    1.789 s …  1.903 s    10 runs

  Warning: Ignoring non-zero exit code.

Benchmark 3: eslint
  Time (mean ± σ):     31.025 s ±  0.744 s    [User: 48.279 s, System: 2.224 s]
  Range (min … max):   30.556 s … 33.030 s    10 runs

  Warning: Ignoring non-zero exit code.

Summary
  oxc ran
    3.65 ± 0.10 times faster than oxc-single-thread
   62.10 ± 1.86 times faster than eslint

Macbook Pro M4 Max, 64 GB

Benchmark 1: oxc
  Time (mean ± σ):     177.2 ms ±   9.7 ms    [User: 1428.0 ms, System: 125.4 ms]
  Range (min … max):   163.6 ms … 193.0 ms    17 runs

  Warning: Ignoring non-zero exit code.

Benchmark 2: eslint
  Time (mean ± σ):     20.957 s ±  0.377 s    [User: 33.216 s, System: 1.722 s]
  Range (min … max):   20.132 s … 21.376 s    10 runs

  Warning: Ignoring non-zero exit code.

Summary
  oxc ran
  118.25 ± 6.78 times faster than eslint

Macbook Air M3, 24 GB, 8 core (4 performance cores, 4 efficiency cores)

Benchmark 1: oxc
  Time (mean ± σ):     477.3 ms ±  12.8 ms    [User: 2370.8 ms, System: 152.6 ms]
  Range (min … max):   451.6 ms … 499.2 ms    10 runs

  Warning: Ignoring non-zero exit code.

Benchmark 2: oxc-single-thread
  Time (mean ± σ):      1.616 s ±  0.013 s    [User: 1.848 s, System: 0.111 s]
  Range (min … max):    1.606 s …  1.642 s    10 runs

  Warning: Ignoring non-zero exit code.

Benchmark 3: eslint
  Time (mean ± σ):     28.682 s ±  0.303 s    [User: 45.572 s, System: 1.748 s]
  Range (min … max):   28.318 s … 29.345 s    10 runs

  Warning: Ignoring non-zero exit code.

Summary
  oxc ran
    3.38 ± 0.09 times faster than oxc-single-thread
   60.09 ± 1.73 times faster than eslint

Run

./init.sh
./bench.sh

About

oxc is 50 - 100 times faster than ESLint

Resources

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

 

Packages

No packages published
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy