如果使用環境變量比使用普通變量(在腳本語言中)慢是正確的,那麼它是如何解釋的?閱讀環境變量是慢操作?
回答
檢索環境變量的值將引發系統調用。普通變量是內置於您正在運行的語言中的,它們將位於同一地址空間,甚至可能位於CPU寄存器中(取決於語言以及執行方式)。
這只是獲取數據的更長的旅程。
這就是說,它在大多數情況下可能不會明顯緩慢。除非您經常訪問它們(例如,在緊密的循環中不斷使用環境變量,或者在每個Web請求期間在Web服務器上讀取它們),否則我不會擔心性能差異。
取決於語言&解釋器設計。如果在初始化時讀取環境並通過標準全局變量(如php)讀取環境,則不會出現性能差異,但缺點是程序中未顯示env變量的外部更改。
然而,還有其他的實現,雖然更「昂貴」,提供優勢,性能拋開。
對於與語言有關的答案而言,+1是+1 –
「然而,有些替代實現雖然更」昂貴「,但提供了優勢,而不考慮性能。」 - 你能詳細說明這一點嗎? –
正如您在回覆中指出的,另一種替代方法是系統調用。雖然這將花費更長的時間,但您將獲得當前值,而不是初始化時的值。 –
- 1. 閱讀TCL中的Bash環境變量
- 2. 閱讀Oracle 10gas上的環境變量
- 3. 閱讀環境Jmeter中的變量值
- 4. 閱讀GitLab GL_REPOSITORY環境變量
- 5. ASP .NET核心閱讀環境變量
- 6. 讀bash的環境變量
- 7. EnvInject不讀環境變量
- 8. 閱讀從屬性文件在Java與從詹金斯閱讀環境變量
- 9. 什麼是操作系統Vs IDE中的環境變量?
- 10. 從beanstalk閱讀環境變量爲reactjs網絡應用程序
- 11. 閱讀Windows環境變量(編碼/字符集問題)
- 12. 閱讀使用Saxon的XSLT樣式表中的環境變量
- 13. 使用Websphere閱讀Java中的環境變量
- 14. 閱讀環境變量時,JSON.parse/stringify有什麼用?
- 15. Elastic Beanstalk環境的名稱是否可用作環境變量?
- 16. 環境變量不工作
- 17. 環境變量
- 18. 環境變量
- 19. 環境變量
- 20. 環境變量
- 21. 環境變量
- 22. 環境變量
- 23. U-Boot:只讀環境變量
- 24. Maven無法讀取Jenkins環境變量
- 25. 讀取web.config中的環境變量
- 26. Powershell:如何讀取環境變量?
- 27. 環境變量沒有被讀取?
- 28. 在revel app.conf中讀取環境變量
- 29. 用Javascript讀取環境變量
- 30. tomcat6不讀取環境變量
所需的十幾納秒時間在解釋型腳本語言中是不可觀察的。 –
@Hans:一句話,我同意:) –