From 8967963c7ee931247b2c2e0f114fabc3b38badb6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20H=C3=B6rnquist?= Date: Wed, 10 Jun 2020 23:39:12 +0200 Subject: Add benchmarking script. --- benchmark.scm | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 benchmark.scm (limited to 'benchmark.scm') diff --git a/benchmark.scm b/benchmark.scm new file mode 100644 index 00000000..f0e2cbcf --- /dev/null +++ b/benchmark.scm @@ -0,0 +1,59 @@ +(add-to-load-path "module") +(use-modules (util) + (util app) + (util config) + (vcomponent) + (vcomponent group) + (vcomponent datetime) + (datetime) + (srfi srfi-41) + (srfi srfi-41 util) + ) + +(load "config.scm") +((@ (vcomponent) init-app) (get-config 'calendar-files)) + +(define all-events (getf 'event-set)) +(define groups (group-stream all-events)) + +(define start #2020-06-01) +(define end #2020-07-01) + +(define (run-filter) + (stream->list (filter-sorted-stream (lambda (e) (event-overlaps? e start end)) + all-events))) + +(define (run-grouped) + (map group->event-list + (stream->list (get-groups-between groups start end)))) + +(define (calc-time start end) + (exact->inexact + (+ (- (car end) + (car start)) + (/ (- (cdr end) + (cdr start)) + #e1e6)))) + +(run-filter) +(run-grouped) + +(format #t "Starting timings~%") +(define t1 (gettimeofday)) +(do ((i 1 (1+ i))) + ((> i 1000)) + (run-grouped)) +(format #t "end first timings~%") +(define t2 (gettimeofday)) +(do ((i 1 (1+ i))) + ((> i 1000)) + (run-filter)) +(format #t "end second timings~%") +(define t3 (gettimeofday)) + +(format #t "t1 = ~a~%t2 = ~a~%" + (calc-time t1 t2) + (calc-time t2 t3)) + +(values (calc-time t1 t2) + (calc-time t2 t3)) -- cgit v1.2.3