Skip to content

v1.1.17: Output Buffering

Compare
Choose a tag to compare
@jondegenhardt jondegenhardt released this 26 Jan 07:23
· 254 commits to master since this release

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.