They debugged the problem to be excessive allocations in the tight loop of the TSV parser. If you allocate a separate object per each field, I can imagine how it can result in throughput counted in kB/s instead of GB/s.
We have had very similar issues with Java - excessive heap allocations can bring the system to a crawl and there is often no easy way out.
We have had very similar issues with Java - excessive heap allocations can bring the system to a crawl and there is often no easy way out.