前段时间,我听说在process.env
中阅读内容对Node的性能产生了影响。我想知道是否有人可以弄清情况是否如此,应该避免调用process.env还是对性能没有影响?
谢谢!
答案 0 :(得分:0)
您可以使用process.hrtime()为此设置自己的测试,让我们尝试阅读一遍,看看会得到什么:
const time = process.hrtime();
const NS_PER_SEC = 1e9;
const loopCount = 10000000;
let hrTime1 = process.hrtime(time);
for (var i = 0; i < loopCount; i++)
{
let result = process.env.TEST_VARIABLE
}
let hrTime2 = process.hrtime(time);
let ns1 = hrTime1[0] * NS_PER_SEC + hrTime1[1];
let ns2 = hrTime2[0] * NS_PER_SEC + hrTime2[1];
console.log(`Read took ${(ns2 - ns1)/loopCount} nanoseconds`);
我的机器上的结果(旧的Windows Tower,Node v8.11.2):
Read took 222.5536641 nanoseconds
大约0.2微秒。
这非常快..当我们谈论性能问题时,所有事情都是相对的。如果您确实需要非常频繁地阅读此内容,则最好将其缓存。