Skip to content

Benchmarks

Juliette Cordor edited this page Apr 24, 2024 · 3 revisions

Note

These benchmarks may not accurately represent the speeds on your system. While they do provide a relative measurement, your environment and results will be different. These benchmarks are done after warmups. You will likely see far greater improvements when run on "cold" systems. Results will also differ depending on search request and the number of results, as well as installed buckets, and a few other factors

On average, sfsu search is ~400 times faster than regular scoop search and ~5 times faster than scoop-search.

sfsu list is ~35 times faster than scoop list

sfsu and hok are pretty comperable in all benchmarks. sfsu wins some benchmarks and hok wins others.

Done on a AMD Ryzen 9 7900X @ 5.5GHz with 32GB of RAM at 5200MHz and 11 scoop buckets, as listed below

Searching

Run on sfsu version v1.10.3, Hok version v0.1.0-beta.4, scoop-search version 1.4.1, and Scoop's develop branch

$ hyperfine --warmup 5 'sfsu search google' 'hok search google' 'scoop-search google' 'scoop search google'
Benchmark 1: sfsu search google
  Time (mean ± σ):      59.1 ms ±   1.3 ms    [User: 0.0 ms, System: 2.6 ms]
  Range (min … max):    55.4 ms …  62.2 ms    36 runs

Benchmark 2: hok search google
  Time (mean ± σ):      67.7 ms ±   1.5 ms    [User: 3.3 ms, System: 1.9 ms]
  Range (min … max):    65.4 ms …  71.1 ms    33 runs

Benchmark 3: scoop-search google
  Time (mean ± σ):     292.5 ms ±   6.5 ms    [User: 14.1 ms, System: 79.7 ms]
  Range (min … max):   283.7 ms … 301.5 ms    10 runs

Benchmark 4: scoop search google
  Time (mean ± σ):      1.908 s ±  0.018 s    [User: 1.144 s, System: 0.419 s]
  Range (min … max):    1.894 s …  1.951 s    10 runs

Summary
  sfsu search google ran
    1.15 ± 0.04 times faster than hok search google
    4.95 ± 0.16 times faster than scoop-search google
   32.28 ± 0.79 times faster than scoop search google

With Scoop SQLite cache enabled, on the develop branch

$ hyperfine --warmup 5 'sfsu search google' 'scoop search google'
Benchmark 1: sfsu search google
  Time (mean ± σ):      59.9 ms ±   1.6 ms    [User: 1.3 ms, System: 0.9 ms]
  Range (min … max):    57.3 ms …  64.6 ms    36 runs

Benchmark 2: scoop search google
  Time (mean ± σ):     461.1 ms ±   2.8 ms    [User: 90.6 ms, System: 73.4 ms]
  Range (min … max):   455.5 ms … 465.9 ms    10 runs

Summary
  sfsu search google ran
    7.70 ± 0.21 times faster than scoop search google

Listing

Run on sfsu version v1.10.3, Hok version v0.1.0-beta.4, and Scoop's develop branch

$ hyperfine --warmup 5 'sfsu list' 'hok list' 'scoop list'
Benchmark 1: sfsu list
  Time (mean ± σ):      69.7 ms ±   2.6 ms    [User: 1.5 ms, System: 6.3 ms]
  Range (min … max):    64.0 ms …  75.2 ms    32 runs

Benchmark 2: hok list
  Time (mean ± σ):      69.8 ms ±   1.6 ms    [User: 0.5 ms, System: 13.6 ms]
  Range (min … max):    66.1 ms …  73.1 ms    31 runs

Benchmark 3: scoop list
  Time (mean ± σ):      1.200 s ±  0.029 s    [User: 0.552 s, System: 0.334 s]
  Range (min … max):    1.167 s …  1.265 s    10 runs

Summary
  sfsu list ran
    1.00 ± 0.04 times faster than hok list
   17.21 ± 0.77 times faster than scoop list

Info

Run on sfsu version v1.10.3, Hok version v0.1.0-beta.4, and Scoop's develop branch

Hok does not have the Updated at and Updated by fields. As such, for the sake of fairness, I have split the benchmark in two.

The first benchmark compares sfsu without these fields to Hok, and the second benchmark compares sfsu with these fields to Scoop.

$ hyperfine --warmup 5 'sfsu info sfsu' 'scoop info sfsu'
Benchmark 1: sfsu info sfsu
  Time (mean ± σ):     167.8 ms ±   2.3 ms    [User: 0.0 ms, System: 1.0 ms]
  Range (min … max):   163.8 ms … 171.7 ms    15 runs

Benchmark 2: scoop info sfsu
  Time (mean ± σ):     595.1 ms ±   5.3 ms    [User: 137.5 ms, System: 60.9 ms]
  Range (min … max):   587.6 ms … 603.8 ms    10 runs

Summary
  sfsu info sfsu ran
    3.55 ± 0.06 times faster than scoop info sfsu
$ hyperfine --warmup 5 'sfsu info sfsu --disable-updated' 'hok info sfsu'
Benchmark 1: sfsu info sfsu --disable-updated
  Time (mean ± σ):      56.6 ms ±   1.3 ms    [User: 0.4 ms, System: 0.0 ms]
  Range (min … max):    54.7 ms …  61.3 ms    37 runs

Benchmark 2: hok info sfsu
  Time (mean ± σ):      68.2 ms ±   1.5 ms    [User: 5.9 ms, System: 2.4 ms]
  Range (min … max):    65.6 ms …  70.8 ms    32 runs

Summary
  sfsu info sfsu --disable-updated ran
    1.20 ± 0.04 times faster than hok info sfsu

Scoop Buckets

Name URL
main https://github.com/ScoopInstaller/Main.git
extras https://github.com/ScoopInstaller/Extras
versions https://github.com/ScoopInstaller/Versions
nirsoft https://github.com/kodybrown/scoop-nirsoft
sysinternals https://github.com/niheaven/scoop-sysinternals.git
java https://github.com/ScoopInstaller/Java
games https://github.com/Calinou/scoop-games
dorado https://github.com/chawyehsu/dorado
emulators https://github.com/borger/scoop-emulators.git
lemon https://github.com/hoilc/scoop-lemon
personal https://github.com/jewlexx/personal-scoop.git
Clone this wiki locally