Current process_* metrics implementation for linux has a huge overhead by re-opening/closing files on each pull. Instead it should keep the process related files open (they do not change over lifetime) and let the OS auto-close them on exit. This way performance can be improved by factor 2..6.
Attaching 2 files as proof of concept/for comparison/micro benchmarking: