diff options
Diffstat (limited to 'gc-benchmarks/string.scm')
-rw-r--r-- | gc-benchmarks/string.scm | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/gc-benchmarks/string.scm b/gc-benchmarks/string.scm new file mode 100644 index 000000000..727016352 --- /dev/null +++ b/gc-benchmarks/string.scm @@ -0,0 +1,25 @@ +;;; From from http://www.ccs.neu.edu/home/will/Twobit/KVW/string.txt . +; string test +; (try 100000) + +(define s "abcdef") + +(define (grow) + (set! s (string-append "123" s "456" s "789")) + (set! s (string-append + (substring s (quotient (string-length s) 2) (string-length s)) + (substring s 0 (+ 1 (quotient (string-length s) 2))))) + s) + +(define (trial n) + (do ((i 0 (+ i 1))) + ((> (string-length s) n) (string-length s)) + (grow))) + +(define (try n) + (do ((i 0 (+ i 1))) + ((>= i 10) (string-length s)) + (set! s "abcdef") + (trial n))) + +(try 50000000)
\ No newline at end of file |