summaryrefslogtreecommitdiff
path: root/tests/speedup.scm
diff options
context:
space:
mode:
Diffstat (limited to 'tests/speedup.scm')
-rw-r--r--tests/speedup.scm13
1 files changed, 13 insertions, 0 deletions
diff --git a/tests/speedup.scm b/tests/speedup.scm
index bf4bb5f..ea67d6a 100644
--- a/tests/speedup.scm
+++ b/tests/speedup.scm
@@ -47,6 +47,12 @@
(current-processor-count)))))))
(define (loop-to n) (let lp ((i 0)) (when (< i n) (lp (1+ i)))))
+(define (alloc-to words n)
+ (let lp ((i 0) (x #f))
+ (if (< i n)
+ (lp (1+ i) (make-vector (- words 2) #f))
+ x)))
+
(measure-speedup
(do-times 100000 (spawn-fiber (lambda () #t) #:parallel? #t)))
(measure-speedup
@@ -57,3 +63,10 @@
(do-times 10000 (spawn-fiber (lambda () (loop-to #e1e5)) #:parallel? #t)))
(measure-speedup
(do-times 1000 (spawn-fiber (lambda () (loop-to #e1e6)) #:parallel? #t)))
+
+(measure-speedup
+ (do-times 100000 (spawn-fiber (lambda () (alloc-to 4 #e1e3)) #:parallel? #t)))
+(measure-speedup
+ (do-times 10000 (spawn-fiber (lambda () (alloc-to 4 #e1e4)) #:parallel? #t)))
+(measure-speedup
+ (do-times 1000 (spawn-fiber (lambda () (alloc-to 4 #e1e5)) #:parallel? #t)))