v1.1.17: Output Buffering
NOTE: Pre-built binaries for this release are no longer available. Please use binaries from the latest release.
Changes in v1.1.17:
Most of the tools were switched to use output buffering. This is a performance enhancement that works by buffering small writes into larger blocks before writing to the final output destination, usually stdout
. The amount of benefit depends on the tool and the nature of the file being processed. Narrow files (short lines) see the most benefit, and in some cases run 50% faster. More typical gains are 5-20%.
Output buffering logic is in the BufferedOutputRange
struct found in common/src/tsvutil.d
. The resulting source code in each tool turns out to be quite readable.