Skip to content

Commit

Permalink
Add competitive benchmark for take of 1/3 the input size.
Browse files Browse the repository at this point in the history
  • Loading branch information
dzoep committed Jan 11, 2025
1 parent 4b1ba3f commit 07ecec5
Showing 1 changed file with 22 additions and 3 deletions.
25 changes: 22 additions & 3 deletions qi-sdk/benchmarks/competitive/report.scrbl
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,8 @@
(provide qi-filter-map-prog
qi-filter-map-foldl-prog
qi-long-pipeline-prog
qi-range-map-car-prog)
qi-range-map-car-prog
qi-range-map-take-prog)

(define impl-label "Qi")

Expand Down Expand Up @@ -78,6 +79,12 @@
(make-vlib/prog impl-label
(λ (high)
(~>> () (range high) (map sqr) car))))

(define qi-range-map-take-prog
(make-vlib/prog impl-label
(lambda (high)
(define n (add1 (quotient high 3)))
(~>> () (range high) (map sqr) (take _ n)))))
)

@(module qi-deforested racket/base
Expand All @@ -89,7 +96,8 @@
(provide qi/d-filter-map-prog
qi/d-filter-map-foldl-prog
qi/d-long-pipeline-prog
qi/d-range-map-car-prog)
qi/d-range-map-car-prog
qi/d-range-map-take-prog)

(define impl-label "Qi deforested")

Expand Down Expand Up @@ -117,6 +125,13 @@
(make-vlib/prog impl-label
(λ (high)
(~>> () (range high) (map sqr) car))))

(define qi/d-range-map-take-prog
(make-vlib/prog impl-label
(lambda (high)
(define n (add1 (quotient high 3)))
(~>> () (range high) (map sqr) (take n)))))

)

@(require 'qi-default
Expand All @@ -139,7 +154,11 @@
(vlib/spec 'range-map-car
identity
(list qi/d-range-map-car-prog
qi-range-map-car-prog))))
qi-range-map-car-prog))
(vlib/spec 'range-map-take
identity
(list qi/d-range-map-take-prog
qi-range-map-take-prog))))

@; Processing ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@define[profile (hash-ref vlib/profiles config-profile)]
Expand Down

0 comments on commit 07ecec5

Please sign in to comment.