[icfp] vector-map benchmark, we are defs faster
This commit is contained in:
parent
91bdd22abc
commit
73ab1b8a07
68
icfp-2016/benchmark/vector-map.rkt
Normal file
68
icfp-2016/benchmark/vector-map.rkt
Normal file
|
@ -0,0 +1,68 @@
|
|||
#lang typed/racket/base
|
||||
(require
|
||||
trivial/vector
|
||||
trivial/math
|
||||
racket/vector
|
||||
plot/typed/no-gui
|
||||
math/statistics)
|
||||
|
||||
(define NUM-TRIALS 8)
|
||||
|
||||
(define-vector: v1 (make-vector (expt: 10 1)))
|
||||
(define-vector: v2 (make-vector (expt: 10 2)))
|
||||
(define-vector: v3 (make-vector (expt: 10 3)))
|
||||
(define-vector: v4 (make-vector (expt: 10 4)))
|
||||
(define-vector: v5 (make-vector (expt: 10 5)))
|
||||
(define-vector: v6 (make-vector (expt: 10 6)))
|
||||
(define-vector: v7 (make-vector (expt: 10 7)))
|
||||
;(define-vector: v8 (make-vector (expt: 10 8)))
|
||||
;(define-vector: v9 (make-vector (expt: 10 9)))
|
||||
|
||||
(define-syntax-rule (tt e)
|
||||
(let ([proc (lambda () e)])
|
||||
(mean (for/list : (Listof Integer)
|
||||
([i (in-range NUM-TRIALS)])
|
||||
(let-values (((res cpu real gc) (time-apply proc '())))
|
||||
cpu)))))
|
||||
|
||||
(define before*
|
||||
(list
|
||||
(tt (vector-map (lambda (x) x) v1))
|
||||
(tt (vector-map (lambda (x) x) v2))
|
||||
(tt (vector-map (lambda (x) x) v3))
|
||||
(tt (vector-map (lambda (x) x) v4))
|
||||
(tt (vector-map (lambda (x) x) v5))
|
||||
(tt (vector-map (lambda (x) x) v6))
|
||||
(tt (vector-map (lambda (x) x) v7))
|
||||
#;(tt (vector-map (lambda (x) x) v8))
|
||||
#;(tt (vector-map (lambda (x) x) v9))))
|
||||
|
||||
(define after*
|
||||
(list
|
||||
(tt (vector-map: (lambda (x) x) v1))
|
||||
(tt (vector-map: (lambda (x) x) v2))
|
||||
(tt (vector-map: (lambda (x) x) v3))
|
||||
(tt (vector-map: (lambda (x) x) v4))
|
||||
(tt (vector-map: (lambda (x) x) v5))
|
||||
(tt (vector-map: (lambda (x) x) v6))
|
||||
(tt (vector-map: (lambda (x) x) v7))
|
||||
#;(tt (vector-map: (lambda (x) x) v8))
|
||||
#;(tt (vector-map: (lambda (x) x) v9))))
|
||||
|
||||
;; TODO plot-pict
|
||||
(plot-file
|
||||
(list
|
||||
(lines (for/list : (Listof (List Integer Real))
|
||||
([i (in-naturals 1)]
|
||||
[t (in-list before*)])
|
||||
(list i t))
|
||||
#:color 1
|
||||
#:label "before")
|
||||
(lines (for/list : (Listof (List Integer Real))
|
||||
([i (in-naturals 1)]
|
||||
[t (in-list after*)])
|
||||
(list i t))
|
||||
#:color 2
|
||||
#:label "after"))
|
||||
"map-microbench.png"
|
||||
'png)
|
Loading…
Reference in New Issue
Block a user