Not all streams may be buffered, think for example user-defined gray streams. And even if they implement buffering, it will still be faster to have one generic function dispatch instead of maybe 10 or 20 for each character. Since symbols are so common data types, I think the small optimization is worth it there.
Am 11.05.20 um 01:06 schrieb Vladimir Sedach:
Marius Gerbershagen marius.gerbershagen@gmail.com writes:
thank you very much for the bug reports and patches. I have incorporated your changes in the develop branch of the git repository. If you have any more bug fixes in the future, it would be preferable to directly open a merge request at https://gitlab.com/embeddable-common-lisp/ecl/ instead of sending patches to the mailing list, since it makes things easier for us.
One more question. Is there a reason you decided to keep buffer_write_char in write_symbol.d? This seems like double-buffering to me - shouldn't the stream take care of the buffering? In my simple test there did not seem to be a performance difference, and the code was simpler. Am I missing something?
-- Vladimir Sedach Software engineering services in Los Angeles https://oneofus.la