On 4/29/19 11:23 AM, Jon Degenhardt wrote:
An update on changes to this tool-set over the last year.
...
The other main update is improved I/O read performance in many of the
tools. This is from developing a buffered version of byLine. It is
especially effective for skinny files (short lines). Most of the tools
saw performance gains of 10-40%.
One of the earlier performance improvements came from buffering output
lines. Combined, the line-by-line read-write performance is quite a bit
faster than what is available in Phobos. The iopipe / std.io packages
(Steve Schveighoff, Martin Nowak) are faster still, these are the place
to go for really high performance. (See the links below for a benchmark
report.)
Links:
* tsv-utils repo: https://github.com/eBay/tsv-utils
* tsv-sample user docs:
https://github.com/eBay/tsv-utils/blob/master/docs/ToolReference.md#tsv-sample-reference
* tsv-sample code docs:
https://tsv-utils.dpldocs.info/tsv_utils.tsv_sample.html
* Performance benchmarks on line-oriented I/O facilities:
https://github.com/jondegenhardt/dcat-perf/issues/1
Jon:
Thank you for this, and thanks for your blog post of a couple of years
ago, which I referred to many times while learning D and writing
fast(er) CLI tools.
Looking forward to trying Steve's iopipe as well as your
bufferedByLineReader.
James