The effectiveness of Chokidar depends on which operating system it is running on.
On OS X, it uses a module that provides access to the fsevents native API, which is extremely efficient.
Other systems use the node.js fs.watch or fs.watchFile API. Under the hood of fs.watch , various system APIs are used to notify about changes that can be quite effective. fs.watchFile uses a statistical survey that would definitely be inappropriate for directories larger than you describe.
My suggestion is that you set the chokidar usePolling: false option and give it a try while monitoring your CPU load.
Update (July 2015): Chokidar has improved significantly since it was originally written, and the survey is no longer default on any platform.
es128 source share