I'm using monit 5.10, but I haven't seen anything in the change log to indicate anything in this area has changed. I'm using monit with OpenWrt, which recently switched init systems, and no longer has ready access to pid files for processes anymore. After switching my process check files to use regexp matching instead of pid file matching, the cpu usage of monit is noticeably higher, every 60 seconds (the scan interval) Some preliminary investigation with monit -vI and "perf" shows that it seems to be occupied with scanf/printf, presumably in the code scanning the /proc tree.
I'm not entirely sure if there's anything that can actually be done about this, but I'd be interested in hearing if there are any workarounds or tweaks I can use to improve this in my matching rules, or in monit itself.
 higher from "I don't notice monit as using cpu" to "monit is using 15-25% cpu, often"