# `gcc` vs `musl`
* Ubuntu 14.04 E5-2690 v3
* rustc 1.40
* gcc with lto
* musl with lto
* Ryzen 7 5800 Windows 11 WSL
* rustc 1.60.0
* i7-12700T Windows 11 WSL
* rustc 1.82.0
## `bash benchmarks/musl/run.sh`
```shell
# cargo install --path ~/Scripts/rust/intspan --force
bash ~/Scripts/intspan/benchmarks/musl/run.sh
find ~/Scripts/intspan/benchmarks/musl/* |
grep -v "run.sh" |
grep -v ".gitignore" |
xargs rm -fr
```
## Results
* Above - E5-2690 v3
* Mid - Ryzen 7 5800
* Below - i5-12500H
* sort
| cargo | 127.9 ± 22.7 | 97.3 | 147.7 | 1.2 |
| gcc | 107.9 ± 21.6 | 92.2 | 142.5 | 1.0 |
| musl | 132.9 ± 23.2 | 102.2 | 151.4 | 1.2 |
| `cargo` | 36.6 ± 0.5 | 35.8 | 38.0 | 1.00 |
| `gcc` | 68.0 ± 1.3 | 63.3 | 71.4 | 1.86 ± 0.04 |
| `musl` | 74.6 ± 1.9 | 70.1 | 77.6 | 2.04 ± 0.06 |
| `cargo` | 43.0 ± 1.7 | 39.9 | 47.8 | 1.00 |
| `gcc` | 137.9 ± 21.0 | 116.4 | 171.2 | 3.21 ± 0.51 |
| `musl` | 180.8 ± 20.1 | 139.7 | 204.2 | 4.21 ± 0.50 |
| `zig cc` | 138.8 ± 23.9 | 109.6 | 174.3 | 3.23 ± 0.57 |
* clean
| cargo | 4.266 ± 0.075 | 4.224 | 4.478 | 1.0 |
| gcc | 6.090 ± 2.789 | 3.824 | 9.361 | 1.4 |
| musl | 7.869 ± 3.102 | 4.839 | 11.355 | 1.8 |
| `cargo` | 1.446 ± 0.344 | 1.279 | 2.351 | 1.06 ± 0.25 |
| `gcc` | 1.361 ± 0.029 | 1.334 | 1.420 | 1.00 |
| `musl` | 2.624 ± 0.029 | 2.586 | 2.697 | 1.93 ± 0.05 |
| `cargo` | 1.545 ± 0.058 | 1.476 | 1.631 | 1.00 |
| `gcc` | 1.587 ± 0.050 | 1.531 | 1.700 | 1.03 ± 0.05 |
| `musl` | 3.142 ± 0.052 | 3.079 | 3.232 | 2.03 ± 0.08 |
| `zig cc` | 1.560 ± 0.036 | 1.521 | 1.644 | 1.01 ± 0.04 |
* merge
| cargo | 2.991 ± 0.006 | 2.976 | 2.999 | 1.1 |
| gcc | 2.712 ± 0.003 | 2.707 | 2.716 | 1.0 |
| musl | 4.527 ± 0.086 | 4.492 | 4.770 | 1.7 |
| `cargo` | 1.251 ± 0.041 | 1.218 | 1.335 | 1.00 |
| `gcc` | 1.253 ± 0.022 | 1.228 | 1.289 | 1.00 ± 0.04 |
| `musl` | 2.791 ± 0.027 | 2.766 | 2.833 | 2.23 ± 0.08 |
| `cargo` | 1.560 ± 0.081 | 1.468 | 1.756 | 1.00 |
| `gcc` | 1.633 ± 0.031 | 1.593 | 1.688 | 1.05 ± 0.06 |
| `musl` | 2.974 ± 0.112 | 2.887 | 3.252 | 1.91 ± 0.12 |
| `zig cc` | 1.663 ± 0.062 | 1.603 | 1.807 | 1.07 ± 0.07 |
* clean2
| cargo | 5.152 ± 0.026 | 5.132 | 5.221 | 1.1 |
| gcc | 4.821 ± 0.003 | 4.817 | 4.826 | 1.0 |
| musl | 5.983 ± 0.924 | 3.370 | 6.544 | 1.2 |
| `cargo` | 828.6 ± 6.9 | 817.6 | 838.1 | 1.00 |
| `gcc` | 873.9 ± 15.7 | 857.5 | 915.8 | 1.05 ± 0.02 |
| `musl` | 2198.2 ± 650.3 | 1468.9 | 3210.7 | 2.65 ± 0.79 |
| `cargo` | 945.5 ± 48.9 | 890.1 | 1037.9 | 1.00 |
| `gcc` | 1014.3 ± 30.7 | 960.1 | 1057.8 | 1.07 ± 0.06 |
| `musl` | 1669.3 ± 19.1 | 1642.6 | 1695.9 | 1.77 ± 0.09 |
| `zig cc` | 991.3 ± 43.3 | 942.7 | 1068.4 | 1.05 ± 0.07 |
* connect
| cargo | 387.0 ± 0.7 | 386.2 | 387.8 | 1.0 |
| gcc | 374.5 ± 74.3 | 247.8 | 532.1 | 1.0 |
| musl | 383.0 ± 0.6 | 382.0 | 384.2 | 1.0 |
| `cargo` | 83.8 ± 4.2 | 79.0 | 102.0 | 1.00 |
| `gcc` | 118.5 ± 7.9 | 107.4 | 135.2 | 1.41 ± 0.12 |
| `musl` | 131.6 ± 3.9 | 125.5 | 138.9 | 1.57 ± 0.09 |
| `cargo` | 89.2 ± 3.1 | 84.4 | 99.8 | 1.00 |
| `gcc` | 187.5 ± 20.5 | 160.7 | 216.1 | 2.10 ± 0.24 |
| `musl` | 256.1 ± 20.2 | 235.0 | 290.3 | 2.87 ± 0.25 |
| `zig cc` | 196.9 ± 31.0 | 170.0 | 303.5 | 2.21 ± 0.36 |
* filter
| cargo | 59.2 ± 1.1 | 58.4 | 66.2 | 1.1 |
| gcc | 54.7 ± 0.3 | 54.2 | 55.7 | 1.0 |
| musl | 55.6 ± 22.3 | 30.9 | 126.5 | 1.0 |
| `cargo` | 14.8 ± 0.9 | 13.4 | 20.4 | 1.00 |
| `gcc` | 48.7 ± 2.6 | 41.5 | 56.6 | 3.29 ± 0.27 |
| `musl` | 49.9 ± 2.6 | 44.9 | 61.0 | 3.37 ± 0.28 |
| `cargo` | 19.3 ± 1.7 | 16.5 | 33.0 | 1.00 |
| `gcc` | 128.0 ± 19.0 | 92.5 | 151.2 | 6.63 ± 1.14 |
| `musl` | 141.4 ± 17.5 | 116.7 | 184.3 | 7.32 ± 1.11 |
| `zig cc` | 138.0 ± 14.4 | 103.6 | 162.2 | 7.15 ± 0.97 |