LGTM, thanks

On Wed, Dec 12, 2012 at 11:28 AM, Iustin Pop <ius...@google.com> wrote:

> as designed to optimise the receive interface, but has
> an unfortunate side-effect: when sending non-trivial messages, it
> means that both the entire String and the ByteString versions must be
> in memory at the same time, leading to much increased memory usage.
>
> By changing the "hPut" from strict to lazy ByteStrings, it means that
> both the String and the ByteString values can be evaluated lazily,
> with significant effects: for a test query answer, instead of having
> a peak from ~600MB to 1.4G during the entire Luxi send operation,
> memory consumption actually decreased during the send operation, as
> the ByteString chunks are released individually and even the backing
> storage of the items that create the JSON string serialisation is
> released lazily as well. So instead of slow growth 10→550MB then quick
> peak to 1.4GB during Luxi send, we now have an even slower growth to
> ~580MB and then decrease of memory as the Luxi send progresses.
>
> The only downside is of a small increase in CPU time of a few percents
> for the above case; for our use cases, I think this is much desirable.
>

Reply via email to