I’d nearly forgotten about this project, but recently some friends took an interest in the tool. So I ran a new round of benchmarks and discovered a significant performance degradation on an Intel® Xeon® Gold 5320 under Ubuntu 20.04.
CrabFetch exhibits the same issue.
hyperfine --runs 100 -N --warmup=20 "./fastfetch -c /home/zjt/ccfetch/benchmark/2.jsonc" "ccfetch" "/home/zjt/CrabFetch/target/release/crab-fetch -c /home/zjt/CrabFetch/target/release/1.toml"
Benchmark 1: ./fastfetch -c /home/zjt/ccfetch/benchmark/2.jsonc
Time (mean ± σ): 3.8 ms ± 0.2 ms [User: 1.0 ms, System: 2.8 ms]
Range (min … max): 3.7 ms … 4.7 ms 100 runs
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: ccfetch
Time (mean ± σ): 11.4 ms ± 0.9 ms [User: 6.4 ms, System: 4.9 ms]
Range (min … max): 11.1 ms … 18.4 ms 100 runs
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 3: /home/zjt/CrabFetch/target/release/crab-fetch -c /home/zjt/CrabFetch/target/release/1.toml
Time (mean ± σ): 12.7 ms ± 0.5 ms [User: 8.1 ms, System: 4.5 ms]
Range (min … max): 12.5 ms … 15.9 ms 100 runs
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.
Summary
./fastfetch -c /home/zjt/ccfetch/benchmark/2.jsonc ran
2.97 ± 0.26 times faster than ccfetch
3.31 ± 0.20 times faster than /home/zjt/CrabFetch/target/release/crab-fetch -c /home/zjt/CrabFetch/target/release/1.toml
However, on Intel(R) Core(TM) i7-6700 CPU with ArchLinux ,
hyperfine --runs 100 -N --warmup=20 "./fastfetch -c /home/charles/Documents/github/ccfetch/benchmark/2.jsonc" "/home/charles/Documents/github/ccfetch/target/release/ccfetch" /"home/charles/Sourcefile/CrabFetch/target/release/crab-fetch -c /home/charles/Sourcefile/CrabFetch/target/release/1.toml"
Benchmark 1: ./fastfetch -c /home/charles/Documents/github/ccfetch/benchmark/2.jsonc
Time (mean ± σ): 6.8 ms ± 0.3 ms [User: 2.2 ms, System: 4.5 ms]
Range (min … max): 6.4 ms … 7.5 ms 100 runs
Benchmark 2: /home/charles/Documents/github/ccfetch/target/release/ccfetch
Time (mean ± σ): 5.0 ms ± 0.2 ms [User: 3.3 ms, System: 1.5 ms]
Range (min … max): 4.7 ms … 5.6 ms 100 runs
Benchmark 3: /home/charles/Sourcefile/CrabFetch/target/release/crab-fetch -c /home/charles/Sourcefile/CrabFetch/target/release/1.toml
Time (mean ± σ): 7.5 ms ± 0.4 ms [User: 5.1 ms, System: 2.3 ms]
Range (min … max): 6.9 ms … 9.3 ms 100 runs
Summary
/home/charles/Documents/github/ccfetch/target/release/ccfetch ran
1.37 ± 0.07 times faster than ./fastfetch -c /home/charles/Documents/github/ccfetch/benchmark/2.jsonc
1.51 ± 0.10 times faster than /home/charles/Sourcefile/CrabFetch/target/release/crab-fetch -c /home/charles/Sourcefile/CrabFetch/target/release/1.toml
I’ve been tied up with some things lately, but I may come back later to look into the issue。
I’d nearly forgotten about this project, but recently some friends took an interest in the tool. So I ran a new round of benchmarks and discovered a significant performance degradation on an Intel® Xeon® Gold 5320 under Ubuntu 20.04.
CrabFetch exhibits the same issue.
However, on Intel(R) Core(TM) i7-6700 CPU with ArchLinux ,
I’ve been tied up with some things lately, but I may come back later to look into the issue。