aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--module/vcomponent/ical/parse.scm7
1 files changed, 7 insertions, 0 deletions
diff --git a/module/vcomponent/ical/parse.scm b/module/vcomponent/ical/parse.scm
index 8499d289..207c9ae8 100644
--- a/module/vcomponent/ical/parse.scm
+++ b/module/vcomponent/ical/parse.scm
@@ -47,6 +47,13 @@
;; then this produces multiple broken unicode characters.
;; It could be solved by checking the start of the new line,
;; and the tail of the old line for broken char
+ ;;
+ ;; TODO This gets really slow when concatenating huge
+ ;; numbers of strings (31862 lines gave ~100s runtime).
+ ;; Almost all which was spent in repaing pipes in the GC.
+ ;; Possible solution would be to instead write to output-strings.
+ ;; Those should be faster since Guile then controlls the memory
+ ;; of the buffer manually, allowing efficient C memory operations.
(cons (make-line (string-append (get-string (car done))
(string-drop line 1))
fname