On Tue, Dec 1, 2009 at 4:59 AM, Waldek Hebisch <email@example.com>
The file has 122 MB, I compiled ECL without Unicode support, so
the strings should take similare space in memory as in a file.
So why there is so much consing? For comparison sbcl needs
5.216 sec but conses only 13,360,144 bytes. And for reading
sbcl is much faster, 2.559 sec and 492,137,056 bytes consed
(note that sbcl uses unicode strings, so the amount consed
is essentially the same as space needed to store strings).
ECL uses some buffers and maybe they are not as large as you need. When reading a string one reads until the buffer is full and then must adjust the size of the string dynamically. The strategy for doing that may condition how much memory is consed. And your file is not only large: it contains rather large strings (20000 characters) when compared to normal use.