Also use the new LineWriter for heaptrack_interpret
This further reduces the CPU load, and thus potentially the runtime
on machines with fewer cores than mine:
Before:
Performance counter stats for 'heaptrack ./tests/manual/threaded' (5 runs):
1283,488536 task-clock (msec) # 2,178 CPUs utilized ( +- 0,19% ) 27.880 context-switches # 0,022 M/sec ( +- 0,26% ) 6.034 cpu-migrations # 0,005 M/sec ( +- 0,72% ) 56.193 page-faults # 0,044 M/sec ( +- 0,04% ) 3.824.835.231 cycles # 2,980 GHz ( +- 0,22% ) 4.324.071.695 instructions # 1,13 insn per cycle ( +- 0,19% ) 851.553.131 branches # 663,468 M/sec ( +- 0,19% ) 14.281.586 branch-misses # 1,68% of all branches ( +- 0,14% ) 0,589248478 seconds time elapsed ( +- 0,45% )
After:
Performance counter stats for 'heaptrack ./tests/manual/threaded' (5 runs):
1183,979396 task-clock (msec) # 2,059 CPUs utilized ( +- 0,23% ) 28.352 context-switches # 0,024 M/sec ( +- 0,17% ) 6.082 cpu-migrations # 0,005 M/sec ( +- 0,86% ) 56.146 page-faults # 0,047 M/sec ( +- 0,07% ) 3.516.405.182 cycles # 2,970 GHz ( +- 0,21% ) 3.915.573.576 instructions # 1,11 insn per cycle ( +- 0,15% ) 757.085.516 branches # 639,441 M/sec ( +- 0,14% ) 14.118.057 branch-misses # 1,86% of all branches ( +- 0,18% ) 0,574975868 seconds time elapsed ( +- 0,35% )