7.7
GTP Checkup
Link to this document with
@other-doc['(lib "gtp-checkup/scribblings/gtp-checkup.scrbl")]
Link to this document with
@other-doc['(lib "gtp-checkup/scribblings/gtp-checkup.scrbl")]
Source: https://github.com/bennn/gtp-checkup
Contains a few configurations of the GTP benchmark programs,
code for continuously testing their performance as Racket changes,
and data from past runs.
1 Basic Usage
Link to this section with
@secref["gtp-checkup:basic-usage"
#:doc '(lib "gtp-checkup/scribblings/gtp-checkup.scrbl")]
Link to this section with
@secref["gtp-checkup:basic-usage"
#:doc '(lib "gtp-checkup/scribblings/gtp-checkup.scrbl")]
To run a performance test on your machine:
The Makefile compiles and runs all scripts that match the pattern benchmarks/*/main.rkt.
Each compile job and each run job has a time limit.
Run racket main.rkt --help for more information.
2 Version History
Link to this section with
@secref["gtp-checkup:version-history"
#:doc '(lib "gtp-checkup/scribblings/gtp-checkup.scrbl")]
Link to this section with
@secref["gtp-checkup:version-history"
#:doc '(lib "gtp-checkup/scribblings/gtp-checkup.scrbl")]
Changed in version 0.1: Changed style of benchmarks to focus on one worst-case configuration
instead of spot-checking N mixed ones.
Changed in version 0.1: Renamed quadBG to quadU and replaced quadMB with quadT.
The version notes in
the GTP Benchmarks documentation explain why.
Updated other benchmarks to match the GTP benchmarks versions.
3 Checkup API
Link to this section with
@secref["Checkup_API"
#:doc '(lib "gtp-checkup/scribblings/gtp-checkup.scrbl")]
Link to this section with
@secref["Checkup_API"
#:doc '(lib "gtp-checkup/scribblings/gtp-checkup.scrbl")]
Main entry point, for running the benchmarks and for importing a new benchmark.
Run the benchmarks using the given executables.
Post results to
gtp-checkup-logger at the
'info level.
The value of i determines the number of times to run each benchmark
configuration.
The value of time-limit determines how long to wait for each
configuration to compile and run.
If time-limit is a cons-pair, then its car is the compile-time
limit and its cdr is the run-time limit.
Extract code from the given directory and create a new folder
in the
"benchmarks/" directory of the
gtp-checkup
repo.
The directory
dir must have a different name than any existing
benchmark, and it must match the subdirectory structure of a
GTP benchmark.
Receives messages about running times and timeouts.
To subscribe to this logger, set PLTSTDERR="error info@gtp-checkup"
Predicate for a directory that exists and contains racket and
raco executables.
4 Checkup data for racket/racket
Link to this section with
@secref["Checkup_data_for_racket_racket"
#:doc '(lib "gtp-checkup/scribblings/gtp-checkup.scrbl")]
Link to this section with
@secref["Checkup_data_for_racket_racket"
#:doc '(lib "gtp-checkup/scribblings/gtp-checkup.scrbl")]
The plots in this section show the performance of different snapshots of the
Racket language.
A snapshot begins with one commit to the racket/racket
repository and includes contemporaneous commits to other main distribution repositories.
Quick guide to plots:
x-axis = time, commits occur from left to right
y-axis = runtime (seconds), lower is better.
Each plot shows all commits for one benchmark,
each commit is represented by one point.
If one commit is much worse than the previous one,
then the line is labeled with a short hash of the new/bad commit.
Each subsection has data for one benchmark.
The data comes from the following machines:
The points labeled typed-worst-case are for a configuration where:
(1) every module is typed and (2) every import is guarded with contracts
via require/typed.
The benchmarks come from GTP benchmarks v1.0.
4.1 acquire
Link to this section with
@secref["acquire" #:doc '(lib "gtp-checkup/scribblings/gtp-checkup.scrbl")]
Link to this section with
@secref["acquire" #:doc '(lib "gtp-checkup/scribblings/gtp-checkup.scrbl")]


4.2 dungeon
Link to this section with
@secref["dungeon" #:doc '(lib "gtp-checkup/scribblings/gtp-checkup.scrbl")]
Link to this section with
@secref["dungeon" #:doc '(lib "gtp-checkup/scribblings/gtp-checkup.scrbl")]


4.3 forth
Link to this section with
@secref["forth" #:doc '(lib "gtp-checkup/scribblings/gtp-checkup.scrbl")]
Link to this section with
@secref["forth" #:doc '(lib "gtp-checkup/scribblings/gtp-checkup.scrbl")]


4.4 fsm
Link to this section with
@secref["fsm" #:doc '(lib "gtp-checkup/scribblings/gtp-checkup.scrbl")]
Link to this section with
@secref["fsm" #:doc '(lib "gtp-checkup/scribblings/gtp-checkup.scrbl")]


4.5 fsmoo
Link to this section with
@secref["fsmoo" #:doc '(lib "gtp-checkup/scribblings/gtp-checkup.scrbl")]
Link to this section with
@secref["fsmoo" #:doc '(lib "gtp-checkup/scribblings/gtp-checkup.scrbl")]


4.6 gregor
Link to this section with
@secref["gregor" #:doc '(lib "gtp-checkup/scribblings/gtp-checkup.scrbl")]
Link to this section with
@secref["gregor" #:doc '(lib "gtp-checkup/scribblings/gtp-checkup.scrbl")]


4.7 jpeg
Link to this section with
@secref["jpeg" #:doc '(lib "gtp-checkup/scribblings/gtp-checkup.scrbl")]
Link to this section with
@secref["jpeg" #:doc '(lib "gtp-checkup/scribblings/gtp-checkup.scrbl")]


4.8 kcfa
Link to this section with
@secref["kcfa" #:doc '(lib "gtp-checkup/scribblings/gtp-checkup.scrbl")]
Link to this section with
@secref["kcfa" #:doc '(lib "gtp-checkup/scribblings/gtp-checkup.scrbl")]


4.9 lnm
Link to this section with
@secref["lnm" #:doc '(lib "gtp-checkup/scribblings/gtp-checkup.scrbl")]
Link to this section with
@secref["lnm" #:doc '(lib "gtp-checkup/scribblings/gtp-checkup.scrbl")]


4.10 mbta
Link to this section with
@secref["mbta" #:doc '(lib "gtp-checkup/scribblings/gtp-checkup.scrbl")]
Link to this section with
@secref["mbta" #:doc '(lib "gtp-checkup/scribblings/gtp-checkup.scrbl")]


4.11 morsecode
Link to this section with
@secref["morsecode" #:doc '(lib "gtp-checkup/scribblings/gtp-checkup.scrbl")]
Link to this section with
@secref["morsecode" #:doc '(lib "gtp-checkup/scribblings/gtp-checkup.scrbl")]


4.12 quadT
Link to this section with
@secref["quadT" #:doc '(lib "gtp-checkup/scribblings/gtp-checkup.scrbl")]
Link to this section with
@secref["quadT" #:doc '(lib "gtp-checkup/scribblings/gtp-checkup.scrbl")]


4.13 quadU
Link to this section with
@secref["quadU" #:doc '(lib "gtp-checkup/scribblings/gtp-checkup.scrbl")]
Link to this section with
@secref["quadU" #:doc '(lib "gtp-checkup/scribblings/gtp-checkup.scrbl")]


4.14 sieve
Link to this section with
@secref["sieve" #:doc '(lib "gtp-checkup/scribblings/gtp-checkup.scrbl")]
Link to this section with
@secref["sieve" #:doc '(lib "gtp-checkup/scribblings/gtp-checkup.scrbl")]


4.15 snake
Link to this section with
@secref["snake" #:doc '(lib "gtp-checkup/scribblings/gtp-checkup.scrbl")]
Link to this section with
@secref["snake" #:doc '(lib "gtp-checkup/scribblings/gtp-checkup.scrbl")]


4.16 suffixtree
Link to this section with
@secref["suffixtree"
#:doc '(lib "gtp-checkup/scribblings/gtp-checkup.scrbl")]
Link to this section with
@secref["suffixtree"
#:doc '(lib "gtp-checkup/scribblings/gtp-checkup.scrbl")]


4.17 synth
Link to this section with
@secref["synth" #:doc '(lib "gtp-checkup/scribblings/gtp-checkup.scrbl")]
Link to this section with
@secref["synth" #:doc '(lib "gtp-checkup/scribblings/gtp-checkup.scrbl")]


4.18 take5
Link to this section with
@secref["take5" #:doc '(lib "gtp-checkup/scribblings/gtp-checkup.scrbl")]
Link to this section with
@secref["take5" #:doc '(lib "gtp-checkup/scribblings/gtp-checkup.scrbl")]


4.19 tetris
Link to this section with
@secref["tetris" #:doc '(lib "gtp-checkup/scribblings/gtp-checkup.scrbl")]
Link to this section with
@secref["tetris" #:doc '(lib "gtp-checkup/scribblings/gtp-checkup.scrbl")]


4.20 zombie
Link to this section with
@secref["zombie" #:doc '(lib "gtp-checkup/scribblings/gtp-checkup.scrbl")]
Link to this section with
@secref["zombie" #:doc '(lib "gtp-checkup/scribblings/gtp-checkup.scrbl")]


4.21 zordoz
Link to this section with
@secref["zordoz" #:doc '(lib "gtp-checkup/scribblings/gtp-checkup.scrbl")]
Link to this section with
@secref["zordoz" #:doc '(lib "gtp-checkup/scribblings/gtp-checkup.scrbl")]

