如果使用环境变量比使用普通变量(在脚本语言中?)更慢,那么如何解释它?
答案 0 :(得分:7)
检索环境变量的值将导致系统调用。普通变量内置于您运行的语言中,将位于相同的地址空间中,甚至可能位于CPU寄存器中(取决于语言及其执行方式)。
获取数据只是一次较长的旅行。
话虽如此,在大多数情况下,它可能不会明显变慢。除非您经常访问它们(例如,在紧密循环中不断使用环境变量,或在每次Web请求期间在Web服务器上读取它们),我不会担心性能差异。
答案 1 :(得分:4)
取决于语言&口译员设计。如果在初始化时读取环境并通过像php中的标准全局变量公开环境,则不存在性能差异,缺点是在程序中看不到env变量的外部更改。
然而,有一些替代实施方案,虽然更“昂贵”,但提供优势,性能除外。