benchmark tabulation option
svn: r13176
This commit is contained in:
parent
220380fd1b
commit
2ef432d1bf
|
@ -225,6 +225,13 @@ exec mzscheme -qu "$0" ${1+"$@"}
|
||||||
extract-mzscheme-times
|
extract-mzscheme-times
|
||||||
clean-up-nothing
|
clean-up-nothing
|
||||||
mutable-pair-progs)
|
mutable-pair-progs)
|
||||||
|
(make-impl 'mzschemecgc-j
|
||||||
|
mk-mzscheme
|
||||||
|
(lambda (bm)
|
||||||
|
(system (format "mzschemecgc -jqu ~a.ss" bm)))
|
||||||
|
extract-mzscheme-times
|
||||||
|
clean-up-nothing
|
||||||
|
mutable-pair-progs)
|
||||||
(make-impl 'mzschemecgc-tl
|
(make-impl 'mzschemecgc-tl
|
||||||
mk-mzscheme-tl
|
mk-mzscheme-tl
|
||||||
(lambda (bm)
|
(lambda (bm)
|
||||||
|
|
|
@ -11,6 +11,7 @@ exec mzscheme -qu "$0" ${1+"$@"}
|
||||||
(define base-link-filename (make-parameter #f))
|
(define base-link-filename (make-parameter #f))
|
||||||
(define full-page-mode (make-parameter #f))
|
(define full-page-mode (make-parameter #f))
|
||||||
(define include-links (make-parameter #f))
|
(define include-links (make-parameter #f))
|
||||||
|
(define nongc (make-parameter #f))
|
||||||
|
|
||||||
(command-line
|
(command-line
|
||||||
"tabulate"
|
"tabulate"
|
||||||
|
@ -20,6 +21,8 @@ exec mzscheme -qu "$0" ${1+"$@"}
|
||||||
(include-links #f)]
|
(include-links #f)]
|
||||||
[("--multi") name "generate multiple pages for different views of data"
|
[("--multi") name "generate multiple pages for different views of data"
|
||||||
(base-link-filename name)]
|
(base-link-filename name)]
|
||||||
|
[("--nongc") "show times not including GC"
|
||||||
|
(nongc #t)]
|
||||||
[("--index") "generate full page with an index.html link"
|
[("--index") "generate full page with an index.html link"
|
||||||
(full-page-mode #t)]))
|
(full-page-mode #t)]))
|
||||||
|
|
||||||
|
@ -111,6 +114,9 @@ exec mzscheme -qu "$0" ${1+"$@"}
|
||||||
|
|
||||||
(define forever 1000000000)
|
(define forever 1000000000)
|
||||||
|
|
||||||
|
(define (ntime v)
|
||||||
|
(and (caadr v) (- (caadr v) (caddr (cadr v)))))
|
||||||
|
|
||||||
(define (generate-page relative-to)
|
(define (generate-page relative-to)
|
||||||
(empty-tag-shorthand html-empty-tags)
|
(empty-tag-shorthand html-empty-tags)
|
||||||
(write-xml/content
|
(write-xml/content
|
||||||
|
@ -141,18 +147,21 @@ exec mzscheme -qu "$0" ${1+"$@"}
|
||||||
(let ([fastest (apply min (map (lambda (run)
|
(let ([fastest (apply min (map (lambda (run)
|
||||||
(or (caadr run) forever))
|
(or (caadr run) forever))
|
||||||
(cdr bm-run)))]
|
(cdr bm-run)))]
|
||||||
|
[n-fastest (apply min (map (lambda (run)
|
||||||
|
(or (ntime run) forever))
|
||||||
|
(cdr bm-run)))]
|
||||||
[c-fastest (apply min (map (lambda (run)
|
[c-fastest (apply min (map (lambda (run)
|
||||||
(let ([v (caddr run)])
|
(let ([v (caddr run)])
|
||||||
(or (and v (positive? v) v)
|
(or (and v (positive? v) v)
|
||||||
forever)))
|
forever)))
|
||||||
(cdr bm-run)))])
|
(cdr bm-run)))])
|
||||||
(let-values ([(base c-base)
|
(let-values ([(base n-base c-base)
|
||||||
(if relative-to
|
(if relative-to
|
||||||
(let ([a (assq relative-to (cdr bm-run))])
|
(let ([a (assq relative-to (cdr bm-run))])
|
||||||
(if a
|
(if a
|
||||||
(values (caadr a) (caddr a))
|
(values (caadr a) (ntime a) (caddr a))
|
||||||
(values #f #f)))
|
(values #f #f #f)))
|
||||||
(values fastest c-fastest))])
|
(values fastest n-fastest c-fastest))])
|
||||||
`(tr (td ,(if (include-links)
|
`(tr (td ,(if (include-links)
|
||||||
`(a ((href ,(format (string-append "http://svn.plt-scheme.org/plt/trunk/collects/"
|
`(a ((href ,(format (string-append "http://svn.plt-scheme.org/plt/trunk/collects/"
|
||||||
"tests/mzscheme/benchmarks/common/~a.sch")
|
"tests/mzscheme/benchmarks/common/~a.sch")
|
||||||
|
@ -172,7 +181,8 @@ exec mzscheme -qu "$0" ${1+"$@"}
|
||||||
append
|
append
|
||||||
(map (lambda (impl)
|
(map (lambda (impl)
|
||||||
(let* ([a (assq impl (cdr bm-run))]
|
(let* ([a (assq impl (cdr bm-run))]
|
||||||
[n (and a (caadr a))])
|
[n (and a (caadr a))]
|
||||||
|
[n2 (and a (ntime a))])
|
||||||
`(,(if (= c-fastest forever)
|
`(,(if (= c-fastest forever)
|
||||||
`(td)
|
`(td)
|
||||||
`(td ((align "right")
|
`(td ((align "right")
|
||||||
|
@ -192,6 +202,17 @@ exec mzscheme -qu "$0" ${1+"$@"}
|
||||||
`(font ((color "forestgreen")) (b ,s))
|
`(font ((color "forestgreen")) (b ,s))
|
||||||
s))
|
s))
|
||||||
"-")
|
"-")
|
||||||
|
,@(if (nongc)
|
||||||
|
`(" / "
|
||||||
|
,(if (and n2 n-base)
|
||||||
|
(let ([s (if (zero? base)
|
||||||
|
"*"
|
||||||
|
(ratio->string (/ n2 base)))])
|
||||||
|
(if (= n2 n-fastest)
|
||||||
|
`(font ((color "forestgreen")) (b ,s))
|
||||||
|
s))
|
||||||
|
"-"))
|
||||||
|
null)
|
||||||
nbsp))))
|
nbsp))))
|
||||||
sorted-impls))))))
|
sorted-impls))))))
|
||||||
sorted-runs)))))
|
sorted-runs)))))
|
||||||
|
|
Loading…
Reference in New Issue
Block a user