How to split string into multiple chunks by size

well, you could use Stream.chunk_every, so it would lazily chunk your string instead of eagerly. For long strings like you said you are working with, it should improve performance a lot already.

One question though, where are you getting this string from?