读取环境变量是否运行缓慢?

Nar*_*rek 3 performance environment-variables

如果使用环境变量比使用普通变量(在脚本语言中?)更慢,那么它是如何解释的?

Mer*_*ham 8

检索环境变量的值将导致系统调用.普通变量内置于您运行的语言中,将位于相同的地址空间中,甚至可能位于CPU寄存器中(取决于语言及其执行方式).

这只是一次获取数据的长途旅行.

话虽如此,在大多数情况下它可能不会明显变慢.除非您经常访问它们(例如,在紧密循环中不断使用环境变量,或者在每次Web请求期间在Web服务器上读取它们),我不会担心性能差异.


Mar*_*lin 5

取决于语言和口译员的设计。如果在初始化时读取环境并通过标准全局变量(如php)公开环境,则不会有性能差异,其缺点是程序中看不到env变量的外部更改。

然而,存在替代实施方式,尽管其更“昂贵”,但除了优点之外还提供了优点。