cisco / ChezScheme

Chez Scheme
Apache License 2.0
6.89k stars 983 forks source link

reduce memory use of pbchunk conversion #820

Closed mflatt closed 3 months ago

mflatt commented 3 months ago

C code generated by the pbchunk conversion is especially verbose, with long macro names for simple operations and lots of comments to reflect source instructions. Generation of that code was formerly rendering to text in memory, and then splitting into the output files, which turns out to use a lot of memory. Converting to text at the last minute can have a much lower peak memory use.

If memory is at a premimum, then rendering to a temporary file would work even better, but this change already brings memory use in line with other build actions without having to deal with a temporary file. Memory use could also be reduced by dropping comments that connect to source instructions; again, though, doesn't seem necessary for now.

Related to racket/racket#4955.