Чтение переменных среды - медленная работа? - PullRequest
3 голосов
/ 18 сентября 2011

Если правильно, что работа с переменными среды медленнее, чем с обычными переменными (на языках сценариев?), То как это объяснить?

Ответы [ 2 ]

7 голосов
/ 18 сентября 2011

Получение значения переменной среды приведет к системному вызову.Обычные переменные встроены в язык, на котором вы работаете, будут находиться в том же адресном пространстве и даже могут быть в регистре процессора (в зависимости от языка и способа его выполнения).

Это просто длиннеепоездка, чтобы получить данные.

При этом, вероятно, это не будет заметно медленным в большинстве сценариев.Если вы не обращаетесь к ним очень часто (например, постоянно используете переменные среды, когда находитесь в замкнутом цикле, или читаете их на веб-сервере во время каждого веб-запроса), я бы не беспокоился о разнице в производительности.

4 голосов
/ 18 сентября 2011

Зависит от языка и дизайна переводчика. Если среда читается при инициализации и предоставляется через стандартные глобальные переменные, такие как в php, разница в производительности не будет, с тем недостатком, что внешние изменения в переменной env не видны в программе.

Тем не менее, существуют альтернативные реализации, которые, хотя и более «дорогие», предлагают преимущества и производительность в стороне.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...