We keep dsos data file descriptors open until their count reaches
the half of the current fd open limit (RLIMIT_NOFILE). In this case
we close file descriptor of the first opened dso object.
We've got overall speedup (24% for my workload) of report:
'perf report --stdio -i perf-test.data' (3 runs)
(perf-test.data size was around 12GB)
current code:
446,826,474,217 cycles ( +- 0.23% )
669,435,100,846 instructions ( +- 0.03% )
266.380674551 seconds time elapsed ( +- 0.37% )
change:
558,345,509,819 cycles ( +- 0.55% )
817,283,647,637 instructions ( +- 0.03% )
351.564209617 seconds time elapsed ( +- 0.89% )