12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343 |
- #!/bin/sh
- # "bench", a shell script to benchmark Scheme implementations
- #
- # Please report any errors or extensions to the author:
- #
- # Marc Feeley (feeley@iro.umontreal.ca)
- #
- # The following have contributed to this benchmark suite:
- #
- # Harvey Stein (abel@netvision.net.il)
- # -----------------------------------------------------------------------------
- error ()
- {
- echo $1
- echo '
- Usage: bench [-r runs] [-c clean] [-i iterfile] [-s setting] [-o options] <scheme-systems> <benchmarks>
- <scheme-systems> is the abbreviated name of one or more
- language implementations to use, i.e.:
- gambit for Gambit-C compiler.
- gambit-int for Gambit-C interpreter.
- bigloo for Bigloo compiler.
- bigloo-int for Bigloo interpreter.
- chicken for Chicken compiler.
- chicken-int for Chicken interpreter.
- mzscheme for MzScheme.
- scheme48 for Scheme48.
- scheme48-opt-only for Scheme48 without JIT but with the optimizer
- scheme48-jit for Scheme48 with JIT and optimizer
- scheme48-jit-noopt for Scheme48 with JIT but without the optimizer
- larceny for Larceny.
- awk for AWK.
- cc for '"cc"' C compiler.
- gcc for '"gcc"' C compiler.
- java for Java.
- all for all of the above.
- all-interpreters for the above interpreters.
- all-compilers for the above compilers.
- <benchmarks> is the name of one or more benchmarks
- to use, i.e.:
- all for all the benchmarks
- fib for the fib benchmark
- "fib boyer" for fib & boyer.
- runs is the number of times to run each benchmark (default is 1).
- clean is whether or not to clean out the build directory.
- true = clean. Useful for testing or inspection.
- iterfile is the file which specifies the number of iterations in
- each benchmark. If not supplied, we use num-iters.scm for compilers
- and num-iters-int.scm for interpreters. For testing, you might
- want to use one-iter.scm, which runs each test once.
- setting is the benchmarking setting. The possible values are:
- r5rs (default):
- - generic arithmetic operations
- - optional overflow detection on fixnum arithmetic
- - mutable bindings for the definitions in the benchmark
- - mutable predefined bindings (for +, car, ...)
- r6rs:
- - generic arithmetic operations
- - overflow detection on fixnum arithmetic (either produce a
- bignum or signal an exception)
- - immutable bindings for the definitions in the benchmark
- - immutable predefined bindings (for +, car, ...)
- - safe execution (i.e. an exception must be signalled on errors)
- r6rs-unsafe:
- - like r6rs setting but errors are not checked, but
- fixnum arithmetic overflows are detected
- r6rs-fixflo:
- - arithmetic operations are specialized to fixnum or flonum
- arguments as appropriate and the fixnum operations may
- wrap on overflow
- - immutable bindings for the definitions in the benchmark
- - immutable predefined bindings (for +, car, ...)
- - safe execution (i.e. an exception must be signalled on errors)
- r6rs-fixflo-unsafe:
- - like r6rs-fixflo setting but errors are not checked'
- exit
- }
- # -----------------------------------------------------------------------------
- cleanup ()
- {
- if [ "$clean" = "true" ] ; then
- # It's true that technically speaking, we should be in the build
- # directory when this fcn is called. Thus, we should be able to
- # just do rm *. However, that's kind of dangerous, so instead,
- # we delete files newer than the mark file that evaluate () makes.
- for x in * ; do
- if [ $x -nt clean_newer_than_me ] ; then
- rm $x
- fi
- done
- fi
- rm clean_newer_than_me
- }
- evaluate ()
- {
- echo > clean_newer_than_me
- sleep 1
- {
- echo
- echo Testing $1 under ${NAME}-${setting}
- echo Compiling...
- make_src_code $1
- $COMP $1
- i=0
- while [ "$i" -lt "$NB_RUNS" ]
- do
- echo Running...
- $EXEC $1
- i=`expr $i + 1`
- done
- cleanup
- } 2>&1 | tee -a ../../results.${NAME}-${setting}
- }
- make_src_code ()
- {
- case "$extension" in
- ".awk")
- cat ../../src/$1.awk > $1.awk
- chmod +x $1.awk ;;
- ".c")
- cat ../../src/$1.c > $1.c ;;
- ".java")
- cat ../../src/$1.java > $1.java ;;
- ".scm")
- printf "$PREFIXCODE\n" "$1" "$1"> $1-prefix.scm
- cp $1-prefix.scm $1-prefix_foo.scm
- printf "$SUFFIXCODE\n" "$1" "$1" > $1-suffix.scm
- cat $1-prefix.scm ../../prefix/prefix-${system}.scm | sed "s/;INSERTCODE/$INSERTCODE/" | cat - ../../num-iters/${iterfile} ../../src/$1.scm ../../suffix/suffix-${system}.scm $1-suffix.scm > $1.scm ;;
- ".ss")
- printf "$PREFIXCODE\n" "$1" "$1" > $1-prefix.scm
- printf "$SUFFIXCODE\n" "$1" "$1" > $1-suffix.scm
- cat ../../prefix/prefix-${system}.scm | sed "s/;INSERTCODE/$INSERTCODE/" | cat - ../../num-iters/${iterfile} ../../src/$1.scm ../../suffix/suffix-${system}.scm > $1-body.ss
- cat $1-prefix.scm $1-suffix.scm > $1.ss ;;
- esac
- }
- # -----------------------------------------------------------------------------
- # For handling setting that does not exist for a given compiler
- nonexistent_comp ()
- {
- :
- }
- nonexistent_exec ()
- {
- :
- }
- # -----------------------------------------------------------------------------
- # Definitions specific to Gambit-C compiler
- gambit_comp ()
- {
- {
- echo gsc $COMPOPTS $1.scm
- } | /usr/bin/time sh
- }
- gambit_exec ()
- {
- if test -f ./$1.o1
- then gsi -:m10000,d- ./$1.o1
- fi
- }
- gambit_int_comp ()
- {
- :
- }
- gambit_int_exec ()
- {
- printf "$REPLCOMMANDS" "$1" | gsi -:m10000,d-
- }
- # -----------------------------------------------------------------------------
- # Definitions specific to bigloo compiler
- bigloo_comp ()
- {
- case $1 in
- ctak|dynamic|fibc|maze|puzzle|scheme) usecc="-call/cc" ;;
- *) usecc="" ;;
- esac
- /usr/bin/time bigloo $usecc $COMPOPTS $1.scm -o $1
- }
- bigloo_exec ()
- {
- if test -f ./$1
- then ./$1
- fi
- }
- bigloo_int_comp ()
- {
- :
- }
- bigloo_int_exec ()
- {
- printf "$REPLCOMMANDS" "$1" | /usr/bin/time bigloo -heapsize 10
- }
- # -----------------------------------------------------------------------------
- # Definitions specific to Chicken compiler
- chicken_comp ()
- {
- {
- echo csc $COMPOPTS $1.scm
- } | /usr/bin/time sh
- }
- chicken_exec ()
- {
- if test -f ./$1
- then ./$1 -:hi10M -:hs0
- fi
- }
- chicken_int_comp ()
- {
- :
- }
- chicken_int_exec ()
- {
- printf "$REPLCOMMANDS" "$1" | /usr/bin/time csi -:hi10M -:hs0
- }
- # -----------------------------------------------------------------------------
- # Definitions specific to MzScheme
- mzscheme_comp ()
- {
- :
- }
- mzscheme_exec ()
- {
- printf "$REPLCOMMANDS" "$1" | mzscheme $COMPOPTS
- }
- # -----------------------------------------------------------------------------
- # Definitions specific to Scheme48
- scheme48_comp ()
- {
- :
- }
- scheme48_exec ()
- {
- printf "$REPLCOMMANDS" "$1" "$1" | scheme48 $COMPOPTS
- }
- # -----------------------------------------------------------------------------
- # Definitions specific to Scheme48 with JIT-Compiler
- scheme48_jit_comp ()
- {
- :
- }
- scheme48_jit_exec ()
- {
- printf "$REPLCOMMANDS" "$1" "$1" "$1" | ~/sw/trunk/scheme48vm $COMPOPTS
- }
- # -----------------------------------------------------------------------------
- # Definitions specific to Larceny
- larceny_comp ()
- {
- :
- }
- larceny_exec ()
- {
- printf "$REPLCOMMANDS" "$1" | larceny $COMPOPTS
- }
- # -----------------------------------------------------------------------------
- # Definitions specific to Chez Scheme
- chez_comp ()
- {
- :
- }
- chez_exec ()
- {
- printf "$REPLCOMMANDS" "$1" | scheme
- }
- # -----------------------------------------------------------------------------
- # Definitions specific to Petite Chez
- petite_chez_comp ()
- {
- :
- }
- petite_chez_exec ()
- {
- printf "$REPLCOMMANDS" "$1" | /usr/bin/time petite
- }
- # -----------------------------------------------------------------------------
- # Definitions specific to stalin
- stalin_comp ()
- {
- mv $1.scm $1.sc
- /usr/bin/time stalin -copt -O2 -Ob -Om -On -Or -Ot -s $1
- }
- stalin_exec ()
- {
- if test -f ./$1
- then /usr/bin/time ./$1
- fi
- }
- # -----------------------------------------------------------------------------
- # Definitions specific to scm
- scm_comp ()
- {
- :
- }
- scm_exec ()
- {
- printf "$REPLCOMMANDS" "$1" | /usr/bin/time scm -f
- }
- # -----------------------------------------------------------------------------
- # Definitions specific to STk
- stk_comp ()
- {
- :
- }
- stk_exec ()
- {
- ### Need to send output to /dev/null so that it doesn't hang when there's
- ### an error...
- printf "$REPLCOMMANDS" "$1" | /usr/bin/time snow -f < /dev/null
- }
- # -----------------------------------------------------------------------------
- # Definitions specific to AWK
- awk_comp ()
- {
- :
- }
- awk_exec ()
- {
- /usr/bin/time ./$1.awk
- }
- # -----------------------------------------------------------------------------
- # Definitions specific to CC
- cc_comp ()
- {
- {
- echo cc -O -o $1 $1.c -lm -lpthread
- } | /usr/bin/time sh
- ls -l $1
- }
- cc_exec ()
- {
- if test -f ./$1
- then /usr/bin/time ./$1
- fi
- }
- # -----------------------------------------------------------------------------
- # Definitions specific to GCC
- gcc_comp ()
- {
- {
- echo gcc -O3 -o $1 $1.c -lm -lpthread
- } | /usr/bin/time sh
- ls -l $1
- }
- gcc_exec ()
- {
- if test -f ./$1
- then /usr/bin/time ./$1
- fi
- }
- # -----------------------------------------------------------------------------
- # Definitions specific to Java
- java_comp ()
- {
- {
- echo javac $1.java
- } | /usr/bin/time sh
- ls -l $1.class
- }
- java_exec ()
- {
- /usr/bin/time java $1
- }
- # -----------------------------------------------------------------------------
- GABRIEL_BENCHMARKS="boyer browse cpstak ctak dderiv deriv destruc diviter divrec puzzle takl triangl" # fft tak trav1 trav2
- KVW_BENCHMARKS="ack array1 cat string sum1 sumloop tail wc"
- #C_BENCHMARKS="fft fib fibfp mbrot nucleic pnpoly sum sumfp tak tfib $KVW_BENCHMARKS"
- C_BENCHMARKS="fft fib fibfp mbrot pnpoly sum sumfp tak $KVW_BENCHMARKS"
- #OTHER_BENCHMARKS="conform dynamic earley fibc graphs lattice matrix maze mazefun nqueens paraffins peval pi primes ray scheme simplex slatex"
- OTHER_BENCHMARKS="conform dynamic earley fibc graphs lattice matrix maze mazefun nqueens paraffins peval primes ray scheme simplex slatex perm9 nboyer sboyer gcbench"
- AWK_BENCHMARKS="$KVW_BENCHMARKS"
- JAVA_BENCHMARKS="tfib"
- #ALL_BENCHMARKS="succeed fail crash $GABRIEL_BENCHMARKS $C_BENCHMARKS $OTHER_BENCHMARKS"
- ALL_BENCHMARKS="$GABRIEL_BENCHMARKS $C_BENCHMARKS $OTHER_BENCHMARKS"
- ALL_INTERPRETERS='bigloo-int petite-chez gambit-int chicken-int scm stk'
- ALL_COMPILERS='gambit bigloo chicken mzscheme scheme48 scheme48-opt-only scheme48-jit scheme48-jit-noopt larceny'
- ALL_GAMBIT='gambit gambit-int'
- ALL_NON_SCHEME='awk cc gcc java'
- ALL_SYSTEMS="$ALL_COMPILERS $ALL_INTERPRETERS $ALL_NON_SCHEME"
- ## Arg processing...
- if [ "$#" -lt 2 ]; then
- error '>>> At least two command line arguments are needed'
- fi
- cmdline="$0"
- flagsdone=0
- NB_RUNS=1
- clean=true
- setting=r5rs
- options=""
- while [ $# -gt 2 ] ; do
- arg="$1"
- shift
- case $arg in
- -r) NB_RUNS=$1 ; shift ;;
- -c) clean=$1 ; shift ;;
- -i) forceiters=$1 ; shift ;;
- -s) setting=$1 ; shift ;;
- -o) options=$1 ; shift ;;
- *) error ">>> Unknown argument of $arg given." ;;
- esac
- done
- if [ "$#" -ne 2 ]; then
- error '>>> Last two arguments must be <systems> and <benchmarks>'
- fi
- case "$1" in
- all) systems="$ALL_SYSTEMS" ;;
- all-interpreters) systems="$ALL_INTERPRETERS" ;;
- all-compilers) systems="$ALL_COMPILERS" ;;
- all-gambit) systems="$ALL_GAMBIT" ;;
- *) systems="$1" ;;
- esac
- case "$2" in
- all) benchmarks="$ALL_BENCHMARKS" ;;
- gabriel) benchmarks="$GABRIEL_BENCHMARKS" ;;
- kvw) benchmarks="$KVW_BENCHMARKS" ;;
- other) benchmarks="$OTHER_BENCHMARKS" ;;
- awk) benchmarks="$AWK_BENCHMARKS" ;;
- c) benchmarks="$C_BENCHMARKS" ;;
- java) benchmarks="$JAVA_BENCHMARKS" ;;
- *) benchmarks="$2" ;;
- esac
- ## Run each benchmark under each system...
- for system in $systems ; do
- case "$system" in
- gambit) NAME='Gambit-C'
- COMP=gambit_comp
- EXEC=gambit_exec
- iterfile=num-iters.scm
- extension=".scm"
- case "$setting" in
- mostly-fixflo)
- COMPOPTS="-dynamic -cc-options '$options'"
- INSERTCODE="(declare (mostly-fixnum-flonum))(define-macro (if-fixflo yes no) no)"
- PREFIXCODE="; %s %s"
- SUFFIXCODE="; %s %s"
- REPLCOMMANDS=""
- ;;
- mostly-flofix)
- COMPOPTS="-dynamic -cc-options '$options'"
- INSERTCODE="(declare (mostly-flonum-fixnum))(define-macro (if-fixflo yes no) no)"
- PREFIXCODE="; %s %s"
- SUFFIXCODE="; %s %s"
- REPLCOMMANDS=""
- ;;
- mostly-fix)
- COMPOPTS="-dynamic -cc-options '$options'"
- INSERTCODE="(declare (mostly-fixnum))(define-macro (if-fixflo yes no) no)"
- PREFIXCODE="; %s %s"
- SUFFIXCODE="; %s %s"
- REPLCOMMANDS=""
- ;;
- mostly-flo)
- COMPOPTS="-dynamic -cc-options '$options'"
- INSERTCODE="(declare (mostly-flonum))(define-macro (if-fixflo yes no) no)"
- PREFIXCODE="; %s %s"
- SUFFIXCODE="; %s %s"
- REPLCOMMANDS=""
- ;;
- mostly-generic)
- COMPOPTS="-dynamic -cc-options '$options'"
- INSERTCODE="(declare (mostly-generic))(define-macro (if-fixflo yes no) no)"
- PREFIXCODE="; %s %s"
- SUFFIXCODE="; %s %s"
- REPLCOMMANDS=""
- ;;
- sb-mostly-fixflo)
- COMPOPTS="-dynamic -cc-options '$options'"
- INSERTCODE="(declare (standard-bindings) (mostly-fixnum-flonum))(define-macro (if-fixflo yes no) no)"
- PREFIXCODE="; %s %s"
- SUFFIXCODE="; %s %s"
- REPLCOMMANDS=""
- ;;
- sb-mostly-flofix)
- COMPOPTS="-dynamic -cc-options '$options'"
- INSERTCODE="(declare (standard-bindings) (mostly-flonum-fixnum))(define-macro (if-fixflo yes no) no)"
- PREFIXCODE="; %s %s"
- SUFFIXCODE="; %s %s"
- REPLCOMMANDS=""
- ;;
- sb-mostly-fix)
- COMPOPTS="-dynamic -cc-options '$options'"
- INSERTCODE="(declare (standard-bindings) (mostly-fixnum))(define-macro (if-fixflo yes no) no)"
- PREFIXCODE="; %s %s"
- SUFFIXCODE="; %s %s"
- REPLCOMMANDS=""
- ;;
- sb-mostly-flo)
- COMPOPTS="-dynamic -cc-options '$options'"
- INSERTCODE="(declare (standard-bindings) (mostly-flonum))(define-macro (if-fixflo yes no) no)"
- PREFIXCODE="; %s %s"
- SUFFIXCODE="; %s %s"
- REPLCOMMANDS=""
- ;;
- sb-mostly-generic)
- COMPOPTS="-dynamic -cc-options '$options'"
- INSERTCODE="(declare (standard-bindings) (mostly-generic))(define-macro (if-fixflo yes no) no)"
- PREFIXCODE="; %s %s"
- SUFFIXCODE="; %s %s"
- REPLCOMMANDS=""
- ;;
- r5rs)
- COMPOPTS="-dynamic -cc-options '$options'"
- INSERTCODE="(define-macro (if-fixflo yes no) no)"
- PREFIXCODE="; %s %s"
- SUFFIXCODE="; %s %s"
- REPLCOMMANDS=""
- ;;
- r6rs)
- COMPOPTS="-dynamic -cc-options '$options'"
- INSERTCODE="(declare (standard-bindings) (extended-bindings) (block))(define-macro (if-fixflo yes no) no)"
- PREFIXCODE="; %s %s"
- SUFFIXCODE="; %s %s"
- REPLCOMMANDS=""
- ;;
- r6rs-unsafe)
- COMPOPTS="-dynamic -cc-options '$options'"
- INSERTCODE="(declare (standard-bindings) (extended-bindings) (block) (not safe))(define-macro (if-fixflo yes no) no)"
- PREFIXCODE="; %s %s"
- SUFFIXCODE="; %s %s"
- REPLCOMMANDS=""
- ;;
- r6rs-fixflo)
- COMPOPTS="-dynamic -cc-options '$options'"
- INSERTCODE="(declare (standard-bindings) (extended-bindings) (block))(define-macro (if-fixflo yes no) yes)"
- PREFIXCODE="; %s %s"
- SUFFIXCODE="; %s %s"
- REPLCOMMANDS=""
- ;;
- r6rs-fixflo-unsafe)
- COMPOPTS="-dynamic -cc-options '$options'"
- INSERTCODE="(declare (standard-bindings) (extended-bindings) (block) (not safe))(define-macro (if-fixflo yes no) yes)"
- PREFIXCODE="; %s %s"
- SUFFIXCODE="; %s %s"
- REPLCOMMANDS=""
- ;;
- esac
- ;;
- gambit-sp) NAME='Gambit-C-sp'
- COMP=gambit_comp
- EXEC=gambit_exec
- iterfile=num-iters.scm
- extension=".scm"
- case "$setting" in
- mostly-fixflo)
- COMPOPTS="-dynamic -cc-options -D___OPTIMIZE_SPACE"
- INSERTCODE="(declare (mostly-fixnum-flonum))(define-macro (if-fixflo yes no) no)"
- PREFIXCODE="; %s %s"
- SUFFIXCODE="; %s %s"
- REPLCOMMANDS=""
- ;;
- mostly-flofix)
- COMPOPTS="-dynamic -cc-options -D___OPTIMIZE_SPACE"
- INSERTCODE="(declare (mostly-flonum-fixnum))(define-macro (if-fixflo yes no) no)"
- PREFIXCODE="; %s %s"
- SUFFIXCODE="; %s %s"
- REPLCOMMANDS=""
- ;;
- mostly-fix)
- COMPOPTS="-dynamic -cc-options -D___OPTIMIZE_SPACE"
- INSERTCODE="(declare (mostly-fixnum))(define-macro (if-fixflo yes no) no)"
- PREFIXCODE="; %s %s"
- SUFFIXCODE="; %s %s"
- REPLCOMMANDS=""
- ;;
- mostly-flo)
- COMPOPTS="-dynamic -cc-options -D___OPTIMIZE_SPACE"
- INSERTCODE="(declare (mostly-flonum))(define-macro (if-fixflo yes no) no)"
- PREFIXCODE="; %s %s"
- SUFFIXCODE="; %s %s"
- REPLCOMMANDS=""
- ;;
- mostly-generic)
- COMPOPTS="-dynamic -cc-options -D___OPTIMIZE_SPACE"
- INSERTCODE="(declare (mostly-generic))(define-macro (if-fixflo yes no) no)"
- PREFIXCODE="; %s %s"
- SUFFIXCODE="; %s %s"
- REPLCOMMANDS=""
- ;;
- sb-mostly-fixflo)
- COMPOPTS="-dynamic -cc-options -D___OPTIMIZE_SPACE"
- INSERTCODE="(declare (standard-bindings) (mostly-fixnum-flonum))(define-macro (if-fixflo yes no) no)"
- PREFIXCODE="; %s %s"
- SUFFIXCODE="; %s %s"
- REPLCOMMANDS=""
- ;;
- sb-mostly-flofix)
- COMPOPTS="-dynamic -cc-options -D___OPTIMIZE_SPACE"
- INSERTCODE="(declare (standard-bindings) (mostly-flonum-fixnum))(define-macro (if-fixflo yes no) no)"
- PREFIXCODE="; %s %s"
- SUFFIXCODE="; %s %s"
- REPLCOMMANDS=""
- ;;
- sb-mostly-fix)
- COMPOPTS="-dynamic -cc-options -D___OPTIMIZE_SPACE"
- INSERTCODE="(declare (standard-bindings) (mostly-fixnum))(define-macro (if-fixflo yes no) no)"
- PREFIXCODE="; %s %s"
- SUFFIXCODE="; %s %s"
- REPLCOMMANDS=""
- ;;
- sb-mostly-flo)
- COMPOPTS="-dynamic -cc-options -D___OPTIMIZE_SPACE"
- INSERTCODE="(declare (standard-bindings) (mostly-flonum))(define-macro (if-fixflo yes no) no)"
- PREFIXCODE="; %s %s"
- SUFFIXCODE="; %s %s"
- REPLCOMMANDS=""
- ;;
- sb-mostly-generic)
- COMPOPTS="-dynamic -cc-options -D___OPTIMIZE_SPACE"
- INSERTCODE="(declare (standard-bindings) (mostly-generic))(define-macro (if-fixflo yes no) no)"
- PREFIXCODE="; %s %s"
- SUFFIXCODE="; %s %s"
- REPLCOMMANDS=""
- ;;
- r5rs)
- COMPOPTS="-dynamic -cc-options -D___OPTIMIZE_SPACE"
- INSERTCODE="(define-macro (if-fixflo yes no) no)"
- PREFIXCODE="; %s %s"
- SUFFIXCODE="; %s %s"
- REPLCOMMANDS=""
- ;;
- r6rs)
- COMPOPTS="-dynamic -cc-options -D___OPTIMIZE_SPACE"
- INSERTCODE="(declare (standard-bindings) (extended-bindings) (block))(define-macro (if-fixflo yes no) no)"
- PREFIXCODE="; %s %s"
- SUFFIXCODE="; %s %s"
- REPLCOMMANDS=""
- ;;
- r6rs-unsafe)
- COMPOPTS="-dynamic -cc-options -D___OPTIMIZE_SPACE"
- INSERTCODE="(declare (standard-bindings) (extended-bindings) (block) (not safe))(define-macro (if-fixflo yes no) no)"
- PREFIXCODE="; %s %s"
- SUFFIXCODE="; %s %s"
- REPLCOMMANDS=""
- ;;
- r6rs-fixflo)
- COMPOPTS="-dynamic -cc-options -D___OPTIMIZE_SPACE"
- INSERTCODE="(declare (standard-bindings) (extended-bindings) (block))(define-macro (if-fixflo yes no) yes)"
- PREFIXCODE="; %s %s"
- SUFFIXCODE="; %s %s"
- REPLCOMMANDS=""
- ;;
- r6rs-fixflo-unsafe)
- COMPOPTS="-dynamic -cc-options -D___OPTIMIZE_SPACE"
- INSERTCODE="(declare (standard-bindings) (extended-bindings) (block) (not safe))(define-macro (if-fixflo yes no) yes)"
- PREFIXCODE="; %s %s"
- SUFFIXCODE="; %s %s"
- REPLCOMMANDS=""
- ;;
- esac
- ;;
- gambit-int) NAME='Gambit-C-int'
- COMP=gambit_int_comp
- COMPOPTS=""
- EXEC=gambit_int_exec
- iterfile=num-iters-int.scm
- extension=".scm"
- case "$setting" in
- r5rs)
- INSERTCODE="(define-macro (if-fixflo yes no) no)"
- PREFIXCODE="; %s %s"
- SUFFIXCODE="; %s %s"
- REPLCOMMANDS="(load \"%s.scm\")"
- ;;
- r6rs)
- INSERTCODE="(define-macro (if-fixflo yes no) no)"
- PREFIXCODE="; %s %s"
- SUFFIXCODE="; %s %s"
- REPLCOMMANDS="(load \"%s.scm\")"
- ;;
- r6rs-unsafe)
- INSERTCODE="(define-macro (if-fixflo yes no) no)"
- PREFIXCODE="; %s %s"
- SUFFIXCODE="; %s %s"
- REPLCOMMANDS="(load \"%s.scm\")"
- ;;
- r6rs-fixflo)
- INSERTCODE="(define-macro (if-fixflo yes no) yes)"
- PREFIXCODE="; %s %s"
- SUFFIXCODE="; %s %s"
- REPLCOMMANDS="(load \"%s.scm\")"
- ;;
- r6rs-fixflo-unsafe)
- INSERTCODE="(define-macro (if-fixflo yes no) yes)"
- PREFIXCODE="; %s %s"
- SUFFIXCODE="; %s %s"
- REPLCOMMANDS="(load \"%s.scm\")"
- ;;
- esac
- ;;
- bigloo) NAME='Bigloo'
- COMP=bigloo_comp
- EXEC=bigloo_exec
- iterfile=num-iters.scm
- extension=".scm"
- case "$setting" in
- r5rs)
- COMPOPTS="-O6 -copt -O3 -copt -fomit-frame-pointer"
- INSERTCODE="(define-macro (if-fixflo yes no) no)"
- PREFIXCODE="; %s %s"
- SUFFIXCODE="; %s %s"
- REPLCOMMANDS=""
- COMP=nonexistent_comp
- EXEC=nonexistent_exec
- ;;
- r6rs)
- COMPOPTS="-O6 -copt -O3 -copt -fomit-frame-pointer"
- INSERTCODE="(define-macro (if-fixflo yes no) no)"
- PREFIXCODE="; %s %s"
- SUFFIXCODE="; %s %s"
- REPLCOMMANDS=""
- ;;
- r6rs-unsafe)
- COMPOPTS="-Obench -copt -O3 -copt -fomit-frame-pointer"
- INSERTCODE="(define-macro (if-fixflo yes no) no)"
- PREFIXCODE="; %s %s"
- SUFFIXCODE="; %s %s"
- REPLCOMMANDS=""
- ;;
- r6rs-fixflo)
- COMPOPTS="-O6 -copt -O3 -copt -fomit-frame-pointer"
- INSERTCODE="(define-macro (if-fixflo yes no) yes)"
- PREFIXCODE="; %s %s"
- SUFFIXCODE="; %s %s"
- REPLCOMMANDS=""
- ;;
- r6rs-fixflo-unsafe)
- COMPOPTS="-Obench -copt -O3 -copt -fomit-frame-pointer"
- INSERTCODE="(define-macro (if-fixflo yes no) yes)"
- PREFIXCODE="; %s %s"
- SUFFIXCODE="; %s %s"
- REPLCOMMANDS=""
- ;;
- esac
- ;;
- bigloo-int) NAME='Bigloo-int'
- COMP=bigloo_int_comp
- COMPOPTS=""
- EXEC=bigloo_int_exec
- iterfile=num-iters-int.scm
- extension=".scm"
- INSERTCODE=""
- PREFIXCODE="; %s %s"
- SUFFIXCODE="; %s %s"
- REPLCOMMANDS="(load \"%s.scm\")"
- ;;
- chicken) NAME='Chicken'
- COMP=chicken_comp
- EXEC=chicken_exec
- iterfile=num-iters.scm
- extension=".scm"
- # Possible improvement: should -disable-interrupts be used? What
- # is lost when -disable-interrupts is used? Is that a normal
- # mode of execution?
- case "$setting" in
- r5rs)
- COMPOPTS="-w -d0 -no-trace -no-usual-integrations"
- INSERTCODE="(define-macro (if-fixflo yes no) no)"
- PREFIXCODE="; %s %s"
- SUFFIXCODE="; %s %s"
- REPLCOMMANDS=""
- ;;
- r6rs)
- COMPOPTS="-w -d0 -O3 -no-trace -block"
- INSERTCODE="(define-macro (if-fixflo yes no) no)"
- PREFIXCODE="; %s %s"
- SUFFIXCODE="; %s %s"
- REPLCOMMANDS=""
- ;;
- r6rs-unsafe)
- COMPOPTS="-w -d0 -O3 -no-trace -block -unsafe -unsafe-libraries"
- INSERTCODE="(define-macro (if-fixflo yes no) no)"
- PREFIXCODE="; %s %s"
- SUFFIXCODE="; %s %s"
- REPLCOMMANDS=""
- ;;
- r6rs-fixflo)
- # It is impossible to use the fixnum/flonum specific
- # procedures in this setting because they are unsafe.
- COMPOPTS="-w -d0 -O3 -no-trace -block"
- INSERTCODE="(define-macro (if-fixflo yes no) no)"
- PREFIXCODE="; %s %s"
- SUFFIXCODE="; %s %s"
- REPLCOMMANDS=""
- COMP=nonexistent_comp
- EXEC=nonexistent_exec
- ;;
- r6rs-fixflo-unsafe)
- COMPOPTS="-w -d0 -O3 -no-trace -block -unsafe -unsafe-libraries"
- INSERTCODE="(define-macro (if-fixflo yes no) yes)"
- PREFIXCODE="; %s %s"
- SUFFIXCODE="; %s %s"
- REPLCOMMANDS=""
- ;;
- esac
- ;;
- chicken-int) NAME='Chicken-int'
- COMP=chicken_int_comp
- COMPOPTS=""
- EXEC=chicken_int_exec
- iterfile=num-iters.scm
- extension=".scm"
- INSERTCODE=""
- PREFIXCODE="; %s %s"
- SUFFIXCODE="; %s %s"
- REPLCOMMANDS="(load \"%s.scm\")"
- ;;
- mzscheme) NAME='MzScheme'
- COMP=mzscheme_comp
- EXEC=mzscheme_exec
- iterfile=num-iters.scm
- extension=".ss"
- case "$setting" in
- r5rs)
- COMPOPTS="-q"
- INSERTCODE="(define-syntax if-fixflo (syntax-rules () ((if-fixflo yes no) no)))"
- PREFIXCODE="; %s %s"
- SUFFIXCODE="(require (lib \"include.ss\")) (include \"%s-body.ss\") (main) ; %s"
- REPLCOMMANDS="(load \"%s.ss\")"
- ;;
- r6rs)
- COMPOPTS="-q"
- INSERTCODE="(define-syntax if-fixflo (syntax-rules () ((if-fixflo yes no) no)))"
- PREFIXCODE="(module %s mzscheme (define-syntax body-src \"%s-body.ss\")"
- SUFFIXCODE="(require (lib \"include.ss\")) (define-syntax (include-body stx) #\`(begin (include #,(syntax-local-value #'body-src)) (main))) (include-body)) ; %s %s"
- REPLCOMMANDS="(require \"%s.ss\")"
- ;;
- r6rs-unsafe)
- # MzScheme does not seem to have an unsafe mode.
- COMPOPTS="-q"
- INSERTCODE="(define-syntax if-fixflo (syntax-rules () ((if-fixflo yes no) no)))"
- PREFIXCODE="(module %s mzscheme (define-syntax body-src \"%s-body.ss\")"
- SUFFIXCODE="(require (lib \"include.ss\")) (define-syntax (include-body stx) #\`(begin (include #,(syntax-local-value #'body-src)) (main))) (include-body)) ; %s %s"
- REPLCOMMANDS="(require \"%s.ss\")"
- COMP=nonexistent_comp
- EXEC=nonexistent_exec
- ;;
- r6rs-fixflo)
- # MzScheme does not seem to have fixnum/flonum specific arithmetic operators.
- COMPOPTS="-q"
- INSERTCODE="(define-syntax if-fixflo (syntax-rules () ((if-fixflo yes no) no)))"
- PREFIXCODE="(module %s mzscheme (define-syntax body-src \"%s-body.ss\")"
- SUFFIXCODE="(require (lib \"include.ss\")) (define-syntax (include-body stx) #\`(begin (include #,(syntax-local-value #'body-src)) (main))) (include-body)) ; %s %s"
- REPLCOMMANDS="(require \"%s.ss\")"
- COMP=nonexistent_comp
- EXEC=nonexistent_exec
- ;;
- r6rs-fixflo-unsafe)
- # MzScheme does not seem to have fixnum/flonum specific arithmetic operators.
- # MzScheme does not seem to have an unsafe mode.
- COMPOPTS="-q"
- INSERTCODE="(define-syntax if-fixflo (syntax-rules () ((if-fixflo yes no) no)))"
- PREFIXCODE="(module %s mzscheme (define-syntax body-src \"%s-body.ss\")"
- SUFFIXCODE="(require (lib \"include.ss\")) (define-syntax (include-body stx) #\`(begin (include #,(syntax-local-value #'body-src)) (main))) (include-body)) ; %s %s"
- REPLCOMMANDS="(require \"%s.ss\")"
- COMP=nonexistent_comp
- EXEC=nonexistent_exec
- ;;
- esac
- ;;
- scheme48) NAME='Scheme48'
- COMP=scheme48_comp
- EXEC=scheme48_exec
- iterfile=num-iters.scm
- extension=".scm"
- case "$setting" in
- r5rs)
- COMPOPTS="-h 20000000"
- INSERTCODE="(define-syntax if-fixflo (syntax-rules () ((if-fixflo yes no) no)))"
- PREFIXCODE="; %s %s"
- SUFFIXCODE="; %s %s"
- REPLCOMMANDS=",bench off\n,open time posix bitwise ascii\n,load %s.scm\n,exit\n;%s"
- ;;
- r6rs)
- COMPOPTS="-h 20000000"
- INSERTCODE="(define-syntax if-fixflo (syntax-rules () ((if-fixflo yes no) no)))"
- PREFIXCODE="(define-structure %s (export main) (open scheme time posix bitwise ascii) (optimize auto-integrate) (begin ; %s"
- SUFFIXCODE=")) ; %s %s"
- REPLCOMMANDS=",config ,load %s.scm\n,open %s,exit\n"
- ;;
- r6rs-unsafe)
- # Scheme48 does not seem to have an unsafe mode.
- COMPOPTS="-h 20000000"
- INSERTCODE="(define-syntax if-fixflo (syntax-rules () ((if-fixflo yes no) no)))"
- PREFIXCODE="; %s %s"
- SUFFIXCODE="; %s %s"
- REPLCOMMANDS=",bench on\n,open time posix bitwise ascii\n,load %s.scm\n,exit\n;%s"
- COMP=nonexistent_comp
- EXEC=nonexistent_exec
- ;;
- r6rs-fixflo)
- # Scheme48 does not seem to have fixnum/flonum specific arithmetic operators.
- COMPOPTS="-h 20000000"
- INSERTCODE="(define-syntax if-fixflo (syntax-rules () ((if-fixflo yes no) no)))"
- PREFIXCODE="; %s %s"
- SUFFIXCODE="; %s %s"
- REPLCOMMANDS=",bench on\n,open time posix bitwise ascii\n,load %s.scm\n,exit\n;%s"
- COMP=nonexistent_comp
- EXEC=nonexistent_exec
- ;;
- r6rs-fixflo-unsafe)
- # Scheme48 does not seem to have fixnum/flonum specific arithmetic operators.
- # Scheme48 does not seem to have an unsafe mode.
- COMPOPTS="-h 20000000"
- PREFIXCODE="; %s %s"
- SUFFIXCODE="; %s %s"
- INSERTCODE="(define-syntax if-fixflo (syntax-rules () ((if-fixflo yes no) no)))"
- REPLCOMMANDS=",bench on\n,open time posix bitwise ascii\n,load %s.scm\n,exit\n"
- COMP=nonexistent_comp
- EXEC=nonexistent_exec
- ;;
- esac
- ;;
-
- scheme48-opt-only) NAME='Scheme48-opt-only'
- COMP=scheme48_jit_comp
- EXEC=scheme48_jit_exec
- iterfile=num-iters.scm
- extension=".scm"
- case "$setting" in
- r5rs)
- COMPOPTS="-h 20000000"
- INSERTCODE="(define-syntax if-fixflo (syntax-rules () ((if-fixflo yes no) no)))"
- PREFIXCODE="; %s %s"
- SUFFIXCODE="; %s %s"
- REPLCOMMANDS=",bench off\n,open time posix bitwise ascii\n,load %s.scm\n,exit\n;%s"
- ;;
- r6rs)
- COMPOPTS="-h 20000000 -i ../../comp.image"
- INSERTCODE="(define-syntax if-fixflo (syntax-rules () ((if-fixflo yes no) no)))"
- PREFIXCODE="(define-structure %s (export main) (open scheme time posix bitwise ascii) (optimize auto-integrate) (begin ; %s"
- SUFFIXCODE=")) ; %s %s"
- REPLCOMMANDS=",batch\n,config ,load %s.scm\n,open %s\n(compile-structure '%s 'optimize)(newline)(main)\n,exit\n"
- ;;
- r6rs-unsafe)
- # Scheme48 does not have an unsafe mode.
- COMPOPTS="-h 20000000"
- INSERTCODE=""
- PREFIXCODE="; %s %s"
- SUFFIXCODE="; %s %s"
- REPLCOMMANDS=";%s %s"
- COMP=nonexistent_comp
- EXEC=nonexistent_exec
- ;;
- r6rs-fixflo)
- # Scheme48 does not have fixnum/flonum specific arithmetic operators.
- COMPOPTS="-h 20000000"
- INSERTCODE=""
- PREFIXCODE="; %s %s"
- SUFFIXCODE="; %s %s"
- REPLCOMMANDS=";%s %s"
- COMP=nonexistent_comp
- EXEC=nonexistent_exec
- ;;
- r6rs-fixflo-unsafe)
- # Scheme48 does not have fixnum/flonum specific arithmetic operators.
- # Scheme48 does not have an unsafe mode.
- COMPOPTS="-h 20000000"
- PREFIXCODE="; %s %s"
- SUFFIXCODE="; %s %s"
- INSERTCODE=""
- REPLCOMMANDS=";%s %s"
- COMP=nonexistent_comp
- EXEC=nonexistent_exec
- ;;
- esac
- ;;
- scheme48-jit) NAME='Scheme48-jit'
- COMP=scheme48_jit_comp
- EXEC=scheme48_jit_exec
- iterfile=num-iters.scm
- extension=".scm"
- case "$setting" in
- r5rs)
- COMPOPTS="-h 20000000"
- INSERTCODE="(define-syntax if-fixflo (syntax-rules () ((if-fixflo yes no) no)))"
- PREFIXCODE="; %s %s"
- SUFFIXCODE="; %s %s"
- REPLCOMMANDS=",bench off\n,open time posix bitwise ascii\n,load %s.scm\n,exit\n;%s"
- ;;
- r6rs)
- COMPOPTS="-h 20000000 -i ../../comp.image"
- INSERTCODE="(define-syntax if-fixflo (syntax-rules () ((if-fixflo yes no) no)))"
- PREFIXCODE="(define-structure %s (export main) (open scheme time posix bitwise ascii) (optimize auto-integrate) (begin ; %s"
- SUFFIXCODE=")) ; %s %s"
- REPLCOMMANDS=",batch\n,config ,load %s.scm\n,open %s\n(compile-structure '%s)(newline)(main)\n,exit\n"
- ;;
- r6rs-unsafe)
- # Scheme48 does not have an unsafe mode.
- COMPOPTS="-h 20000000"
- INSERTCODE=""
- PREFIXCODE="; %s %s"
- SUFFIXCODE="; %s %s"
- REPLCOMMANDS=";%s %s"
- COMP=nonexistent_comp
- EXEC=nonexistent_exec
- ;;
- r6rs-fixflo)
- # Scheme48 does not have fixnum/flonum specific arithmetic operators.
- COMPOPTS="-h 20000000"
- INSERTCODE=""
- PREFIXCODE="; %s %s"
- SUFFIXCODE="; %s %s"
- REPLCOMMANDS=";%s %s"
- COMP=nonexistent_comp
- EXEC=nonexistent_exec
- ;;
- r6rs-fixflo-unsafe)
- # Scheme48 does not have fixnum/flonum specific arithmetic operators.
- # Scheme48 does not have an unsafe mode.
- COMPOPTS="-h 20000000"
- PREFIXCODE="; %s %s"
- SUFFIXCODE="; %s %s"
- INSERTCODE=""
- REPLCOMMANDS=";%s %s"
- COMP=nonexistent_comp
- EXEC=nonexistent_exec
- ;;
- esac
- ;;
- scheme48-jit-noopt) NAME='Scheme48-jit-noopt'
- COMP=scheme48_jit_comp
- EXEC=scheme48_jit_exec
- iterfile=num-iters.scm
- extension=".scm"
- case "$setting" in
- r5rs)
- COMPOPTS="-h 20000000"
- INSERTCODE="(define-syntax if-fixflo (syntax-rules () ((if-fixflo yes no) no)))"
- PREFIXCODE="; %s %s"
- SUFFIXCODE="; %s %s"
- REPLCOMMANDS=",bench off\n,open time posix bitwise ascii\n,load %s.scm\n,exit\n;%s"
- ;;
- r6rs)
- COMPOPTS="-h 20000000 -i ../../comp.image"
- INSERTCODE="(define-syntax if-fixflo (syntax-rules () ((if-fixflo yes no) no)))"
- PREFIXCODE="(define-structure %s (export main) (open scheme time posix bitwise ascii) (optimize auto-integrate) (begin ; %s"
- SUFFIXCODE=")) ; %s %s"
- REPLCOMMANDS=",batch\n,config ,load %s.scm\n,open %s\n(compile-structure '%s 'native-code)(newline)(main)\n,exit\n"
- ;;
- r6rs-unsafe)
- # Scheme48 does not have an unsafe mode.
- COMPOPTS="-h 20000000"
- INSERTCODE=""
- PREFIXCODE="; %s %s"
- SUFFIXCODE="; %s %s"
- REPLCOMMANDS=";%s %s"
- COMP=nonexistent_comp
- EXEC=nonexistent_exec
- ;;
- r6rs-fixflo)
- # Scheme48 does not have fixnum/flonum specific arithmetic operators.
- COMPOPTS="-h 20000000"
- INSERTCODE=""
- PREFIXCODE="; %s %s"
- SUFFIXCODE="; %s %s"
- REPLCOMMANDS=";%s %s"
- COMP=nonexistent_comp
- EXEC=nonexistent_exec
- ;;
- r6rs-fixflo-unsafe)
- # Scheme48 does not have fixnum/flonum specific arithmetic operators.
- # Scheme48 does not have an unsafe mode.
- COMPOPTS="-h 20000000"
- PREFIXCODE="; %s %s"
- SUFFIXCODE="; %s %s"
- INSERTCODE=""
- REPLCOMMANDS=";%s %s"
- COMP=nonexistent_comp
- EXEC=nonexistent_exec
- ;;
- esac
- ;;
- larceny) NAME='Larceny'
- COMP=larceny_comp
- COMPOPTS=""
- EXEC=larceny_exec
- iterfile=num-iters.scm
- extension=".scm"
- INSERTCODE=""
- PREFIXCODE="; %s %s"
- SUFFIXCODE="; %s %s"
- REPLCOMMANDS="(load \"%s.scm\")"
- ;;
- chez) NAME='Chez-Scheme'
- COMP=chez_comp
- COMPOPTS=""
- EXEC=chez_exec
- iterfile=num-iters.scm
- extension=".scm"
- INSERTCODE=""
- PREFIXCODE="; %s %s"
- SUFFIXCODE="; %s %s"
- REPLCOMMANDS="(load \"%s.scm\")"
- ;;
- petite-chez) NAME='Petite-Chez-Scheme'
- COMP=petite_chez_comp
- COMPOPTS=""
- EXEC=petite_chez_exec
- iterfile=num-iters-int.scm
- extension=".scm"
- INSERTCODE=""
- PREFIXCODE="; %s %s"
- SUFFIXCODE="; %s %s"
- REPLCOMMANDS="(load \"%s.scm\")"
- ;;
- mit) NAME='MIT-Scheme'
- COMP=mit_comp
- COMPOPTS=""
- EXEC=mit_exec
- iterfile=num-iters.scm
- extension=".scm"
- INSERTCODE=""
- PREFIXCODE="; %s %s"
- SUFFIXCODE="; %s %s"
- REPLCOMMANDS=""
- ;;
- mit-int) NAME='MIT-Scheme-int'
- COMP=mit_int_comp
- COMPOPTS=""
- EXEC=mit_int_exec
- iterfile=num-iters-int.scm
- extension=".scm"
- INSERTCODE=""
- PREFIXCODE="; %s %s"
- SUFFIXCODE="; %s %s"
- REPLCOMMANDS="(load \"%s.scm\")"
- ;;
- scm) NAME='SCM'
- COMP=scm_comp
- COMPOPTS=""
- EXEC=scm_exec
- iterfile=num-iters-int.scm
- extension=".scm"
- INSERTCODE=""
- PREFIXCODE="; %s %s"
- SUFFIXCODE="; %s %s"
- REPLCOMMANDS="(load \"%s.scm\")"
- ;;
- stalin) NAME='Stalin'
- COMP=stalin_comp
- COMPOPTS=""
- INSERTCODE=""
- EXEC=stalin_exec
- iterfile=num-iters.scm
- extension=".scm"
- INSERTCODE=""
- PREFIXCODE="; %s %s"
- SUFFIXCODE="; %s %s"
- REPLCOMMANDS=""
- ;;
- stk) NAME='STk'
- COMP=stk_comp
- COMPOPTS=""
- INSERTCODE=""
- EXEC=stk_exec
- iterfile=num-iters-int.scm
- extension=".scm"
- INSERTCODE=""
- PREFIXCODE="; %s %s"
- SUFFIXCODE="; %s %s"
- REPLCOMMANDS="(load \"%s.scm\")"
- ;;
- awk) NAME='AWK'
- COMP=awk_comp
- COMPOPTS=""
- INSERTCODE=""
- EXEC=awk_exec
- iterfile=
- extension=".awk"
- ;;
- cc) NAME='CC'
- COMP=cc_comp
- COMPOPTS=""
- INSERTCODE=""
- EXEC=cc_exec
- iterfile=
- extension=".c"
- ;;
- gcc) NAME='GCC'
- COMP=gcc_comp
- COMPOPTS=""
- INSERTCODE=""
- EXEC=gcc_exec
- iterfile=
- extension=".c"
- ;;
- java) NAME='Java'
- COMP=java_comp
- COMPOPTS=""
- INSERTCODE=""
- EXEC=java_exec
- iterfile=
- extension=".java"
- ;;
- *) error '>>> Unknown system'
- ;;
- esac
- if [ -n "$forceiters" ] ; then iterfile="$forceiters" ; fi
- cd sys/$system
- if [ $? != 0 ] ; then
- echo "ERROR: Can't change to directory sys/$system."
- exit 1
- fi
- {
- echo
- echo '****************************'
- echo Benchmarking ${NAME}-${setting} on `date` under `uname -a`
- } >> ../../results.${NAME}-${setting}
- for program in $benchmarks ; do
- evaluate $program
- done
- cd ../..
- if [ $? != 0 ] ; then
- echo "ERROR: Can't change back to benchmark directory."
- exit 1
- fi
- done
|