shootout: Expression Performance Comparison
1 Introduction
(define (va x (y "bbb") (z "ccc")) (expt 42 42) (string-append x y z)) (define (fa x y z) (expt 42 42) (string-append x y z)) (shootout (va "aaa") (fa "aaa" "bbb" "ccc") #:repeat 1000000) 
| SHOOTOUT-SAMPLING-GC-BASE | 
| 
 | 
| SHOOTOUT-BEGIN (REPEAT 1000000, GC-BASE-MS 2498, GC-BASE-GCMS 2496) | 
| 
 | 
| SHOOTOUT-EXPRESSION 1: | 
| (va "aaa") | 
| SHOOTOUT-TIMING (RUN 275, RUN-GCMS 12, COST 274, COST-GCMS 12, CLEANUP-DIFF -2.0) | 
| 
 | 
| SHOOTOUT-EXPRESSION 2: | 
| (fa "aaa" "bbb" "ccc") | 
| SHOOTOUT-TIMING (RUN 255, RUN-GCMS 12, COST 254, COST-GCMS 13, CLEANUP-DIFF -1.0) | 
| 
 | 
| SHOOTOUT-END | 
| 
 | 
2 Interface
syntax
maybe-repeat = 
| #:repeat repeat 
expr : any/c 
repeat : exact-nonnegative-integer? 
3 Known Issues
- Rework to use new Racket time-apply feature, instead of old kludges. 
4 History
- Version 2:0 —2016-02-29 - Moving from PLaneT to new package system. 
 
- Version 1:1 —2011-08-22 - Fixed typo in legal notice. 
 
- Version 1:0 —2010-12-21 - Initial release. 
 
5 Legal
Copyright 2010, 2011, 2016 Neil Van Dyke. This program is Free Software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but without any warranty; without even the implied warranty of merchantability or fitness for a particular purpose. See http://www.gnu.org/licenses/ for details. For other licenses and consulting, please contact the author.