However, the entire collection is converted even though only a part of the entire collection is to be written. Since this method is used in the ZnResponse>>writeOn: through ZnUtils>>nextPutAll:on:, which splits the writing of a large collection into chunks of 16kB, the writing of a large response suffers from a severe performance penalty.
The
ZnBivalentWriteStream>>#next:putAll:startingAt:
collection argument is converted to a ByteArray or a String when needed.See https://github.com/GsDevKit/zinc/blob/01210a4d602d90c65d2356cbff86012fbdffde85/repository/Zinc-HTTP.package/ZnBivalentWriteStream.class/instance/next.putAll.startingAt..st#L10
However, the entire
collection
is converted even though only a part of the entire collection is to be written. Since this method is used in theZnResponse>>writeOn:
throughZnUtils>>nextPutAll:on:
, which splits the writing of a large collection into chunks of 16kB, the writing of a large response suffers from a severe performance penalty.See https://lists.gemtalksystems.com/mailman/archives/glass/2024-May/006674.html