diff options
author | Hugo Hörnquist <hugo@lysator.liu.se> | 2020-05-09 22:19:01 +0200 |
---|---|---|
committer | Hugo Hörnquist <hugo@lysator.liu.se> | 2020-05-09 22:19:01 +0200 |
commit | f56daa40756cb4f356c283567de9cbc050bd86b1 (patch) | |
tree | 778a1bbada2a00acc854a85721f36618b6ce4f6b /module/datetime/util.scm | |
parent | Clean up util header. (diff) | |
parent | Add short commentary on difference between parse and parse/component. (diff) | |
download | calp-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 '')
-rw-r--r-- | module/datetime/util.scm | 5 |
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) |