nodejs 性能优化


我们应该将Socket或者文件流放入到缓冲中然后一次性处理而不是对每个操作进行单独处理。你可以使用写队列来管理你的所有写操作,常用的写队列的实现逻辑如下:
  • 当我们需要进行写操作并且在某个处理窗口期内:

    • 将该缓冲区添加到待写列表中

  • 连接所有的缓冲区并且一次性的写入到目标管道中。


添加新的定时器实例时,如果Node.js发现已经存在了相同的键值(有相同触发事件的定时器),那么会以O(1)复杂度完成添加操作。如果还不存在该键值,则会创建新的桶然后将定时器添加到该桶中。需要铭记于心的是,我们应该尽可能地重用已存在的定时器存放桶,避免移除整个桶然后再创建一个新的这种耗时的操作。

谨慎使用ECMAScript高级语法,它们相较于ECMAScript 5中的语法会慢很多 // https://fhinkel.github.io/six-speed/