benchmark: make it so you can select benchmarks to run

e.g: ./factor -benchmarks="benchmark.gc1 benchmark.gc2" extra/benchmark/benchmark.factor
char-rename
Björn Lindqvist 2016-09-25 20:45:52 +02:00
parent a6df4168af
commit e32e45e590
1 changed files with 7 additions and 3 deletions

View File

@ -1,8 +1,9 @@
! Copyright (C) 2007, 2009 Slava Pestov. ! Copyright (C) 2007, 2009 Slava Pestov.
! See http://factorcode.org/license.txt for BSD license. ! See http://factorcode.org/license.txt for BSD license.
USING: arrays assocs continuations debugger formatting fry help.markup USING: arrays assocs continuations debugger formatting fry help.markup
io io.styles kernel math memory prettyprint sequences io io.styles kernel math memory namespaces prettyprint sequences
tools.profiler.sampling tools.test tools.time vocabs.hierarchy vocabs.loader ; splitting tools.profiler.sampling tools.test tools.time
vocabs.hierarchy vocabs.loader ;
IN: benchmark IN: benchmark
: run-timing-benchmark ( vocab -- time ) : run-timing-benchmark ( vocab -- time )
@ -11,9 +12,12 @@ IN: benchmark
: run-profile-benchmark ( vocab -- profile ) : run-profile-benchmark ( vocab -- profile )
compact-gc '[ _ run ] profile most-recent-profile-data ; compact-gc '[ _ run ] profile most-recent-profile-data ;
: find-benchmark-vocabs ( -- seq ) : all-benchmark-vocabs ( -- seq )
"benchmark" disk-child-vocab-names [ find-vocab-root ] filter ; "benchmark" disk-child-vocab-names [ find-vocab-root ] filter ;
: find-benchmark-vocabs ( -- seq )
"benchmarks" get " " split harvest [ all-benchmark-vocabs ] when-empty ;
<PRIVATE <PRIVATE
: write-header ( str -- ) : write-header ( str -- )