forked from nuprl/gtp
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbenchmarks.rkt
67 lines (57 loc) · 2.18 KB
/
benchmarks.rkt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#lang scribble/html
@require["templates.rkt"]
@(define (benchmark-suites . p*)
@(list
@h3[class: "red-back-big"]{Benchmarks}
@(map benchmarks->string p*)))
@(struct suite [name href publication* description] #:transparent)
@(define (benchmarks #:name name #:href href #:publications pub* desc)
(suite name href pub* desc))
@(define (suite->id p)
(string->id (suite-name p)))
@(define (benchmarks->string bm)
(define id (suite->id bm))
(define href (suite-href bm))
@div[class: "col-md-12"]{
@h3[id: id class: "gray-back"]{@suite-name[bm]}
@div[class: "col-md-12 card"]{
@p{@a[href: href class: "project-link" target: "_blank" href]}
@suite-description[bm]
Appeared in:
@(apply ul
(for/list ((pub (in-list (suite-publication* bm))))
(li (format-publication pub))))}})
@(define (format-publication p)
(list
(publication->name p)
". "
(author*->string (publication->author* p))
". "
(venue->string (publication->venue p))))
@(define (format-publication/short p)
(publication->name p))
@; =============================================================================
@page[3]{
@benchmark-suites[
@benchmarks[
#:name "Reticulated Python"
#:href "https://github.com/nuprl/retic_performance?path=benchmarks"
#:publications (list gm-pepm-2018)
@(list @p{
Suite of Python programs adapted from:
case studies reported by @a[href: "https://dl.acm.org/citation.cfm?id=2661101"]{Vitousek, Kent, Siek, and Baker};
the module-level evaluation of @format-publication/short[vss-popl-2017 ];
and open-source programs.
Each function in these benchmarks may be typed or untyped.
In other words, for a program with 10 functions the benchmark explores
1024 configurations of gradual typing.
})]
@benchmarks[
#:name "Typed Racket"
#:href "https://github.com/bennn/gtp-benchmarks"
#:publications (list tfgnvf-popl-2016 bbst-oopsla-2017)
@(list @p{
Suite of Typed Racket programs adapted from open-source projects.
Each module in these benchmarks may be typed or untyped.
})]
]}