Probably using a pre-allocated cyclic buffer. From there either write everything once every X times (or when a part of the buffer is filled), or start an additional thread which handles all writes.
This becomes more important when memory dumps are being dumped.
Implemented a basic version of the improved logging. Simply fills a 4k buffer before doing a fwrite call. There's still plenty of room for improvement, especially when handling memory dumps.
Probably using a pre-allocated cyclic buffer. From there either write everything once every X times (or when a part of the buffer is filled), or start an additional thread which handles all writes.
This becomes more important when memory dumps are being dumped.