1#!/usr/bin/env gosh 2(use gauche.process) 3(use srfi-1) 4(use util.match) 5(use gauche.parseopt) 6 7(define (ntimes-map proc n) 8 (let loop ([i 0] 9 [ret '()]) 10 (if (>= i n) 11 ret 12 (loop (+ i 1) (append ret (list (proc))))))) 13 14(define (get-process-error-line lst) 15 (let* ((process (apply run-process `(,@lst :error :pipe :output "/dev/null"))) 16 (line (read-line (process-error process) #t))) 17 (process-wait process) 18 line)) 19 20 21(define (exec-with-time command) 22 (string->number ((#/([\d\.]+)\s+total/ (get-process-error-line `("zsh" "-c" ,(string-append "time ./mosh " command)))) 1))) 23 24;(sys-system "uname -a") 25;(sys-system "svn info") 26 27(for-each 28 (lambda (file) 29 (format #t "~25a: ~d\n" file (apply min (ntimes-map (lambda () (exec-with-time file)) 3)))) 30 '( 31 "-5 ./misc/bench/fib.scm" 32 "-5 ./misc/bench/tak.scm" 33 "-5 ./misc/bench/triangl.scm" 34 "-5 ./misc/bench/takl.scm" 35 "./misc/bench/empty.scm" 36 "./misc/bench/load-library.scm" 37 "./misc/bench/clos.scm" 38)) 39 40;; Linux sewashi 2.6.22-15-generic #1 SMP Tue Oct 21 23:47:12 GMT 2008 i686 GNU/Linux 41;; Path: . 42;; URL: https://mosh-scheme.googlecode.com/svn/trunk 43;; Repository Root: https://mosh-scheme.googlecode.com/svn 44;; Repository UUID: 3dc39933-274d-0410-bf6f-2fa8959f7829 45;; Revision: 740 46;; Node Kind: directory 47;; Schedule: normal 48;; Last Changed Author: kokosabu 49;; Last Changed Rev: 740 50;; Last Changed Date: 2008-11-27 22:27:43 +0900 (Thu, 27 Nov 2008) 51;; ./bench/clos.scm : 0.61 52;; ./bench/empty.scm : 0.067 53;; ./bench/load-library.scm : 0.109 54 55;; Linux sewashi 2.6.22-15-generic #1 SMP Tue Oct 21 23:47:12 GMT 2008 i686 GNU/Linux 56;; Path: . 57;; URL: https://mosh-scheme.googlecode.com/svn/trunk 58;; Repository Root: https://mosh-scheme.googlecode.com/svn 59;; Repository UUID: 3dc39933-274d-0410-bf6f-2fa8959f7829 60;; Revision: 746 61;; Node Kind: directory 62;; Schedule: normal 63;; Last Changed Author: higepon 64;; Last Changed Rev: 746 65;; Last Changed Date: 2008-11-28 17:10:32 +0900 (Fri, 28 Nov 2008) 66 67;; ./bench/clos.scm : 0.558 68;; ./bench/empty.scm : 0.065 69;; ./bench/load-library.scm : 0.105 70 71;; Darwin dorami.local 9.5.0 Darwin Kernel Version 9.5.0: Wed Sep 3 11:29:43 PDT 2008; root:xnu-1228.7.58~1/RELEASE_I386 i386 72;; Path: . 73;; URL: https://mosh-scheme.googlecode.com/svn/trunk 74;; Repository Root: https://mosh-scheme.googlecode.com/svn 75;; Repository UUID: 3dc39933-274d-0410-bf6f-2fa8959f7829 76;; Revision: 741 77;; Node Kind: directory 78;; Schedule: normal 79;; Last Changed Author: higepon 80;; Last Changed Rev: 741 81;; Last Changed Date: 2008-11-27 23:49:22 +0900 (Thu, 27 Nov 2008) 82 83;; ./bench/clos.scm : 0.668 84;; ./bench/empty.scm : 0.071 85;; ./bench/load-library.scm : 0.117 86 87;; Peephole optimization 88 89;; Darwin dorami.local 9.5.0 Darwin Kernel Version 9.5.0: Wed Sep 3 11:29:43 PDT 2008; root:xnu-1228.7.58~1/RELEASE_I386 i386 90;; Path: . 91;; URL: https://mosh-scheme.googlecode.com/svn/trunk 92;; Repository Root: https://mosh-scheme.googlecode.com/svn 93;; Repository UUID: 3dc39933-274d-0410-bf6f-2fa8959f7829 94;; Revision: 742 95;; Node Kind: directory 96;; Schedule: normal 97;; Last Changed Author: higepon 98;; Last Changed Rev: 742 99;; Last Changed Date: 2008-11-28 15:33:31 +0900 (Fri, 28 Nov 2008) 100 101;; ./bench/clos.scm : 0.669 102;; ./bench/empty.scm : 0.071 103;; ./bench/load-library.scm : 0.117 104 105;; after pass2/assign-local and fixed pass3/$call jump optimization 106;; Darwin dorami.local 9.5.0 Darwin Kernel Version 9.5.0: Wed Sep 3 11:29:43 PDT 2008; root:xnu-1228.7.58~1/RELEASE_I386 i386 107;; Path: . 108;; URL: https://mosh-scheme.googlecode.com/svn/trunk 109;; Repository Root: https://mosh-scheme.googlecode.com/svn 110;; Repository UUID: 3dc39933-274d-0410-bf6f-2fa8959f7829 111;; Revision: 780 112;; Node Kind: directory 113;; Schedule: normal 114;; Last Changed Author: higepon 115;; Last Changed Rev: 780 116;; Last Changed Date: 2008-12-04 00:00:14 +0900 (Thu, 04 Dec 2008) 117 118;; ./bench/clos.scm : 0.618 119;; ./bench/empty.scm : 0.066 120;; ./bench/load-library.scm : 0.115 121;; dorami% 122