我在服务器上有一个缓存引擎,它缓存在根目录下访问的所有文件.我正在考虑使用Chokidar来查看整个目录树(递归)以进行文件更改并相应地更新缓存.但我担心如果子目录包含数十万个文件会发生什么 - Chokidar的效率如何?
es1*_*128 11
Chokidar的效率取决于它运行的操作系统.
在OS X上,它使用一个模块来提供对本机fseventsAPI的访问,这非常有效.
在其他系统上,它使用node.js fs.watch或fs.watchFileAPI.在幕后,fs.watch使用各种系统API来通知变化,这可能是合理有效的.fs.watchFile使用stat轮询,这对于你描述的目录来说肯定是不合适的.
我的建议是你设置chokidar选项usePolling: false并尝试一下,监控你的cpu负载.
更新(2015年7月):Chokidar自最初编写以来已经有了很大的改进,并且轮询不再是任何平台上的默认设置.
| 归档时间: |
|
| 查看次数: |
10834 次 |
| 最近记录: |