• Nikias Bassen's avatar
    xplist: Improve writing of large PLIST_DATA nodes by growing buffer in advance · 8ad21e6b
    Nikias Bassen authored
    Instead of letting the buffer grow by just the amount of bytes currently
    transformed to base64 - which is basically line by line - we now calculate
    the size of the output blob in advance and grow the buffer accordingly.
    This will reduce the amount of reallocs to just one, which is especially
    important for large data blobs.
    While this is a general improvement for all platforms, it is on platforms
    like Windows where realloc() can be REALLY slow; converting a 20mb blob to
    XML can easily take up to a minute (due to the several hundred thousand
    calls to realloc()). With this commit, it will be fast again.
    8ad21e6b
bytearray.c 1.73 KB