zhaobinglong / myBlog

https://zhaobinglong.github.io/myBlog/
MIT License
7 stars 0 forks source link

nodejs性能优化 #105

Open zhaobinglong opened 3 years ago

zhaobinglong commented 3 years ago

require()添加非js的后缀

CommonJS规范规定,require中的文件名字,不需要写后缀,nodejs会调用fs模块自动匹配后缀寻找模块,尝试匹配的顺序是.js > ,json ->.node

由于fs是同步阻塞模块,判断过程是需要阻塞的,所以当文件后缀不是js的时候,可以添加后缀加快nodejs匹配的速度

zhaobinglong commented 3 years ago

立即执行的异步任务使用process.nextTick()

process.nextTick()和setTimeout(fn, 0) 都可以立即执行一个异步任务,但是由于时间循环的特质,导致setTimeout并不精确,并且后者还要动用红黑树、创建定时器对象和迭代操作,对性能不友好