节点8中的process.env.NODE_ENV是否仍然很慢

时间:2018-07-02 14:19:31

标签: node.js

前段时间,我听说在process.env中阅读内容对Node的性能产生了影响。我想知道是否有人可以弄清情况是否如此,应该避免调用process.env还是对性能没有影响?

谢谢!

1 个答案:

答案 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微秒。

这非常快..当我们谈论性能问题时,所有事情都是相对的。如果您确实需要非常频繁地阅读此内容,则最好将其缓存。