From 83b0a2d06c063834ff9a22ea2d34dcece2eda6eb Mon Sep 17 00:00:00 2001 From: Darcy Shen Date: Thu, 10 Jul 2025 23:19:56 +0800 Subject: [PATCH] Bench on range for Goldfish Scheme and Python --- bench/range.py | 17 +++++++++++++++++ bench/range.scm | 6 +++--- 2 files changed, 20 insertions(+), 3 deletions(-) create mode 100644 bench/range.py diff --git a/bench/range.py b/bench/range.py new file mode 100644 index 00000000..011051c9 --- /dev/null +++ b/bench/range.py @@ -0,0 +1,17 @@ +import time + +start_time = time.time() + +result = [ + [ + x * x + for x in range(0, 10000) + if (x * x) % 3 == 0 + ] + for y in range(0, 1000) +] + +end_time = time.time() + +print("Length of each result:", len(result[0])) +print(f"Elapsed time: {(end_time - start_time) * 1000:.2f} ms") diff --git a/bench/range.scm b/bench/range.scm index a4fa24e5..7f20dbc0 100644 --- a/bench/range.scm +++ b/bench/range.scm @@ -14,10 +14,10 @@ (define start-time (current-jiffy)) (define result - ((rich-list :range 0 1000 1) + ((rich-vector :range 0 1000 1) :map (lambda (y) - ((rich-list :range 0 10000 1) + ((rich-vector :range 0 10000 1) :map (lambda (x) (* x x)) :filter (lambda (z) (zero? (modulo z 3))) :collect)) @@ -25,7 +25,7 @@ (define end-time (current-jiffy)) (display "Length of each result: ") -(display (length (car result))) +(display (length (result 0))) (newline) (display* "Elapsed time: " (/ (- end-time start-time) 1000.0) " ms\n") -- Gitee