Re: [PATCH] Fix Unicode handling in :INVERT readtable and :CASE :COMMON pathnames
Marius Gerbershagen <[email protected]> Wed, 6 May 2020 21:23:56 +0200
| Newsgroups | gmane.lisp.ecl.general |
|---|---|
| Message-ID | <[email protected]> |
Hello Vladimir, 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. Best regards, Marius Gerbershagen Am 05.05.20 um 04:46 schrieb Vladimir Sedach: > Ok, I figured out a fix (attached). > > write_symbol_string was attempting to use some kind of buffering > similar to writestr_stream in file.d, which buffering I replaced with > calls to ecl_write_char. > > This simplified the code, and does not seem to have had a noticeable > negative effect on the performance of printing symbols: > > --8<---------------cut here---------------start------------->8--- >> (defvar j (read-from-string "абракадабра")) > > J >> (time (dotimes (i 1000000) (with-output-to-string (x1) (print j x1)))) > --8<---------------cut here---------------end--------------->8--- > > Before: > > real time : 5.349 secs > run time : 6.827 secs > gc count : 552 times > consed : 1055997968 bytes > NIL > > After: > > real time : 5.278 secs > run time : 7.756 secs > gc count : 257 times > consed : 1039999200 bytes > NIL > > -- > Vladimir Sedach > Software engineering services in Los Angeles https://oneofus.la >