diff options
author | Hugo Hörnquist <hugo@lysator.liu.se> | 2021-08-09 23:36:23 +0200 |
---|---|---|
committer | Hugo Hörnquist <hugo@lysator.liu.se> | 2021-08-15 19:44:59 +0200 |
commit | 9ee598f110bc47203113c39a26b2d61b7c92f755 (patch) | |
tree | 25ac1793decfda5429b96fd26ae8f950507f1019 | |
parent | Render attachements to HTML frontend. (diff) | |
download | calp-9ee598f110bc47203113c39a26b2d61b7c92f755.tar.gz calp-9ee598f110bc47203113c39a26b2d61b7c92f755.tar.xz |
Add TODO about bad string-append performance.
Diffstat (limited to '')
-rw-r--r-- | module/vcomponent/ical/parse.scm | 7 |
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 |