Gerry McGovern 詢問我對網站能耗是否有什麼見解。畢竟,他寫過一本關於數字技術對地球影響的書。他想知道網絡技術的具體細節,例如……
如果用HTML 實現這個功能,它將消耗3 倍的能量,但如果用JavaScript 實現,它將消耗10 ×倍的能量。
我認為,如果真的仔細研究,並知道如何精確測量,就能找到這樣的例子。假設我想將一個元素在屏幕上移動。如果我在JavaScript 中編寫一個setInterval 循環,每毫秒將相對定位元素的left 位置遞增一次,我99% 確定這比使用CSS @keyframes 動畫在相同時間內更改transform: translateX() 值更耗電。在這個例子中,通常我們更關注性能而不是能耗,但這立刻就很有趣:良好的性能是否與更低的能耗相關?很可能。
研究人員已經對此進行了研究。
我們發現移動Web 應用的性能分數與能耗之間存在統計學意義上的負相關(中等至大的效應量),這意味著性能分數的提高往往會導致能耗的降低。
他們在Android 上使用Lighthouse 分數測試移動Web 應用。我猜這與其他平台和其他性能指標也相當吻合。
我很高興目前的研究結果與我邏輯上預期的結果相符。導致性能不佳的事情往往也是耗能的事情。想像一下圖像。如果提供過大或未優化的圖像,你的性能分數就會降低。想像一下這帶來的性能影響。服務器上有兩張圖像,一張大,一張小。哪一張傳輸到用戶的計算機需要消耗更多電力?大的那張。哪一張需要更多的處理能力來解析和顯示?大的那張。哪一張在屏幕上顯示期間佔用更多內存(這也會消耗電力)?大的那張。
網絡傳輸越少,電力消耗越少。
瀏覽器需要做的越少,電力消耗越少。
一些每隔幾秒鐘自動刷新的廣告?它不僅令人討厭,而且浪費帶寬,從而浪費電力。每當你必須使用輪詢(即反復發出網絡請求)而不是基於事件的WebSockets 時?這都在消耗你可能不需要消耗的電力。
我們知道CDN 也能提高性能。文件(如圖像)無需跨越全球傳輸,而是來自地理位置更接近的服務器,並且該服務器專為此項工作而設計。這也就是事情對我來說變得有點模糊的地方。
以性能為目標:目標達成。以低能耗為目標,我們達成了嗎?
這項研究已經進行過,但不幸的是,我無法僅從摘要中得知結論。在我看來,世界各地的服務器都存儲著這些資源的副本,當資源發生變化時,不僅僅是一個服務器更新,而是世界各地的服務器都會更新。在節省請求效率所實現的節省方面,必須在傳播和重複存儲之間取得平衡。
說到存儲效率,我確信僅僅存儲在磁盤上的存儲所消耗的電力遠少於通過網絡發送的文件——但它仍然有成本。假設你每次更改文件時都保存一份副本。假設你每次部署網站時都保存網站的完整副本。有用嗎?當然。這會消耗電力嗎?一定會的。一定需要在兩者之間找到一個平衡點。
然而,Gerry 詢問的是特定技術。我能想到CSS 領域中另一件大事:暗模式!同樣,它也已被研究過。暗模式可以節省電力。
對於我們測試的一組流行的Android 應用,暗模式確實可以將全亮度下的顯示功耗降低高達58.5%!就整個手機電池續航時間減少而言,這意味著在全亮度下可以節省5.6% 到44.7%,在38% 亮度下可以節省1.8% 到23.5%。
那麼比較技術呢?我懷疑這更多的是關於該技術(或語言)正在做什麼,而不是語言本身。例如,我可以使用
這樣,正如良好的性能通常與更低的能耗相關一樣,我敢打賭,遵守最小功耗規則通常也與更低的能耗相關。
厭倦了我對事情的猜測?可以理解。
Jack Lenox 在Smashing 上發表的文章“如何提高網站性能以幫助拯救地球”更深入地探討了這個問題。他指出了可以測試你網站的網站。網站碳排放量計算器就是一個例子,它指出:
計算網站的碳排放量是一項挑戰,但使用五個關鍵數據,我們可以做出相當不錯的估計:
- 線上數據傳輸
- 網絡數據的能源強度
- 數據中心使用的能源
- 電力的碳強度
- 網站流量
測試代碼是開源的。
以上是考慮使用電力和網站的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

Atom編輯器mac版下載
最受歡迎的的開源編輯器

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。