aboutsummaryrefslogtreecommitdiff
path: root/module/datetime/util.scm
diff options
context:
space:
mode:
authorHugo Hörnquist <hugo@lysator.liu.se>2020-05-09 22:19:01 +0200
committerHugo Hörnquist <hugo@lysator.liu.se>2020-05-09 22:19:01 +0200
commitf56daa40756cb4f356c283567de9cbc050bd86b1 (patch)
tree778a1bbada2a00acc854a85721f36618b6ce4f6b /module/datetime/util.scm
parentClean up util header. (diff)
parentAdd short commentary on difference between parse and parse/component. (diff)
downloadcalp-f56daa40756cb4f356c283567de9cbc050bd86b1.tar.gz
calp-f56daa40756cb4f356c283567de9cbc050bd86b1.tar.xz
Replace iCalendar parser.
The old iCalendar parser was a direct port of my C parser, which unfortunately clashed with guile's evaluation model, and was therefore really slow. This new one is much schemier [sic?], and therefore much faster. On my laptop the parse time went from around 10s to 2.5s, so a 4x speedup!
Diffstat (limited to 'module/datetime/util.scm')
-rw-r--r--module/datetime/util.scm5
1 files changed, 2 insertions, 3 deletions
diff --git a/module/datetime/util.scm b/module/datetime/util.scm
index 910c42d3..d310992c 100644
--- a/module/datetime/util.scm
+++ b/module/datetime/util.scm
@@ -157,9 +157,8 @@
str)))
(define*-public (datetime->string datetime optional: (fmt "~Y-~m-~dT~H:~M:~S") key: allow-unknown?)
- (define dt (get-datetime datetime))
- (define date (get-date dt))
- (define time ((@ (datetime) get-time%) dt))
+ (define date (get-date datetime))
+ (define time ((@ (datetime) get-time%) datetime))
(with-output-to-string
(lambda ()
(fold (lambda (token state)