Qi Normal/  Deforested Competitive Benchmarks
1 General Information
1.1 Profile:   github
1.2 System Information
2 Summary Results
3 Detailed Results
3.1 filter-map
3.2 filter-map-foldl
3.3 long-pipeline
3.4 range-map-car
3.5 range-map-take
8.15

Qi Normal/Deforested Competitive Benchmarks🔗

1 General Information🔗

Date and time: Fri Jan 31 18:25:26Z 2025

1.1 Profile: github🔗

Logarithmic/Linear Boundary: 10000
Number of measurements for each input length: 100
Garbage collection: step

1.2 System Information🔗

Racket Version: 8.15 - Welcome to Racket v8.15 [cs].
Qi Version: 5.0
Operating System: linux
Architecture: x86_64
Runtime: chez-scheme
Machine: Linux fv-az1373-630 6.8.0-1020-azure #23-Ubuntu SMP Mon Dec 9 16:58:58 UTC 2024 x86_64
Processor Count: 4
Processor: AMD EPYC 7763 64-Core Processor

2 Summary Results🔗

Benchmark

Qi deforested/Qi

filter-map

0.573460

filter-map-foldl

0.213948

long-pipeline

0.288352

range-map-car

0.000093

range-map-take

0.205764

3 Detailed Results🔗

Benchmarks took 1336.2 seconds (0:22:16).

Measured lengths: (10 20 30 40 50 60 70 80 90 100 200 300 400 500 600 700 800 900 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000 20000 30000 40000 50000 60000 70000 80000 90000 100000 110000 120000 130000 140000 150000 160000 170000 180000 190000 200000 210000 220000 230000 240000 250000 260000 270000 280000 290000 300000 310000 320000 330000 340000 350000 360000 370000 380000 390000 400000 410000 420000 430000 440000 450000 460000 470000 480000 490000 500000 510000 520000 530000 540000 550000 560000 570000 580000 590000 600000 610000 620000 630000 640000 650000 660000 670000 680000 690000 700000 710000 720000 730000 740000 750000 760000 770000 780000 790000 800000 810000 820000 830000 840000 850000 860000 870000 880000 890000 900000 910000 920000 930000 940000 950000 960000 970000 980000 990000 1000000)

3.1 filter-map🔗

Benchmark took 207.4 seconds (0:03:27).
Qi deforested:

(flow (~>> (filter odd?) (map sqr)))

Qi:

(flow (~>> (filter odd?) (map sqr)))

\begin{alignat*}{5}\text{Qi deforested:}\quad t & = & & 0.000005x^2 & {}+{} & 8.313061x & {}+{} & 29019.613152\\ \text{Qi:}\quad t & = & & 0.000009x^2 & {}+{} & 14.372782x & {}-{} & 57976.148873\end{alignat*}

Qi deforested

Qi

Qi deforested

1.000000

0.573460

Qi

1.743799

1.000000

\frac{Q}{R}(x)=2.713084x^{-1}+0.596285

3.2 filter-map-foldl🔗

Benchmark took 202.7 seconds (0:03:22).
Qi deforested:

(flow (~>> (filter odd?) (map sqr) (foldl + 0)))

Qi:

(flow (~>> (filter odd?) (map sqr) (foldl + 0)))

\begin{alignat*}{5}\text{Qi deforested:}\quad t & = & & & & 6.872014x & {}-{} & 24736.510616\\ \text{Qi:}\quad t & = & & 0.000011x^2 & {}+{} & 17.831143x & {}-{} & 58397.152515\end{alignat*}

Qi deforested

Qi

Qi deforested

1.000000

0.213948

Qi

4.674025

1.000000

\frac{Q}{R}(x)=5.653741x^{-1}+0.289029

3.3 long-pipeline🔗

Benchmark took 353.3 seconds (0:05:53).
Qi deforested:
(λ (high)
  (~>> ()
    (range high)
    (filter odd?)
    (map sqr)
    values
    (filter (lambda (v) (< (remainder v 10) 5)))
    (map (lambda (v) (* v 2)))
    (foldl + 0)))
Qi:
(λ (high)
  (~>> ()
    (range high)
    (filter odd?)
    (map sqr)
    values
    (filter (lambda (v) (< (remainder v 10) 5)))
    (map (lambda (v) (* v 2)))
    (foldl + 0)))
\begin{alignat*}{5}\text{Qi deforested:}\quad t & = & & & & 15.260709x & {}-{} & 10732.364314\\ \text{Qi:}\quad t & = & & 0.000021x^2 & {}+{} & 33.852414x & {}-{} & 330151.751563\end{alignat*}

Qi deforested

Qi

Qi deforested

1.000000

0.288352

Qi

3.467985

1.000000

\frac{Q}{R}(x)=40.622859x^{-1}+0.459927

3.4 range-map-car🔗

Benchmark took 223.0 seconds (0:03:43).
Qi deforested:
(λ (high)
  (~>> () (range high) (map sqr) car))
Qi:
(λ (high)
  (~>> () (range high) (map sqr) car))
\begin{alignat*}{5}\text{Qi deforested:}\quad t & = & & & & 0.000240x & {}+{} & 3973.656146\\ \text{Qi:}\quad t & = & & 0.000019x^2 & {}+{} & 24.416079x & {}-{} & 217013.526422\end{alignat*}

Qi deforested

Qi

Qi deforested

1.000000

0.000093

Qi

10808.911400

1.000000

\frac{Q}{R}(x)=80.892086x^{-1}+0.096318

3.5 range-map-take🔗

Benchmark took 349.7 seconds (0:05:49).
Qi deforested:
(lambda (high)
  (define n (add1 (quotient high 3)))
  (~>> () (range high) (map sqr) (take n)))
Qi:
(lambda (high)
  (define n (add1 (quotient high 3)))
  (~>> () (range high) (map sqr) (take _ n)))
\begin{alignat*}{5}\text{Qi deforested:}\quad t & = & & 0.000003x^2 & {}+{} & 8.985691x & {}-{} & 70888.701025\\ \text{Qi:}\quad t & = & & 0.000022x^2 & {}+{} & 38.042377x & {}-{} & 618076.194788\end{alignat*}

Qi deforested

Qi

Qi deforested

1.000000

0.205764

Qi

4.859939

1.000000

\frac{Q}{R}(x)=76.525405x^{-1}+0.336666