diff options
author | Hugo Hörnquist <hugo@lysator.liu.se> | 2021-08-12 12:45:06 +0200 |
---|---|---|
committer | Hugo Hörnquist <hugo@lysator.liu.se> | 2021-08-15 19:44:59 +0200 |
commit | 036ffa651fb847c92c9e243a6d34744e92a167b8 (patch) | |
tree | c6fb373b2c90fd4be71e9b36025796232c26b783 /module/output/ical.scm | |
parent | Add TODO about bad string-append performance. (diff) | |
download | calp-036ffa651fb847c92c9e243a6d34744e92a167b8.tar.gz calp-036ffa651fb847c92c9e243a6d34744e92a167b8.tar.xz |
Refactor read-file to use string ports.
Like the diff mentions; appending strings leads to a huge number of
allocations and deallocations, killing performance in the GC for large
strings.
String ports on the other hand say nothing about how the work
internally, allowing Guile to have efficient C code which completely
bypasses the GC (this was briefly checked in Guile's source code, commit
118ee0c50ba90ea7ad7ff1fd2a212bbbb7a66d99 (3.0.7 + a few commits).
The approximate speed increase is at least two orders of magnitude, if
not three.
Diffstat (limited to '')
0 files changed, 0 insertions, 0 deletions