yaconf是乙個高效能的php配置容器, 它在php啟動的時候把格式為ini的配置檔案parse後儲存在php的常駐記憶體中,不需要每次請求的時候都來分析配置檔案,並且在獲取配置項的時候"zero-copy",具體的介紹可以看我2023年發布的時候寫的介紹:yaconf - 乙個高效能的配置管理擴充套件。
yaconf在微博被大量使用,也穩定執行了這麼多年,但是2023年發布後基本也沒有什麼大的變化。
最近因為疫情,我對yaconf做了一系列的重構,主要是減少取過程中的記憶體使用,基本重寫了整體的邏輯,那效能優化的結果如何呢? 我們來做個簡單的測試。
首先測試配置檔案如下:
name="yaconf"
version="1.1.0"
[author]
name="laruence"
blog.address=""
[developer : author]
projects.yaf.repo=""
測試指令碼如下:
<?php
function bench($key)
printf("%s: %fs\n", $key, microtime(true) - $start);
}bench("config.name");
bench("config.author.name");
bench("config.author.blog.address");
bench("config.developer.projects.yaf.repo");
?>
首先我們用yaconf-1.0.8來測試:
config.name: 0.129616s
config.author.name: 0.172129s
config.author.blog.address: 0.206659s
config.developer.projects.yaf.repo: 0.248205s
然後我們來用yaconf-1.1.0測試下:
config.name: 0.075837s
config.author.name: 0.098553s
config.author.blog.address: 0.144033s
config.developer.projects.yaf.repo: 0.144580s
可以看到獲取配置平均能有40%的耗時減少,尤其當你使用鏈式方法獲取配置內容的時候,越長提公升越明顯。
好了, yaconf-1.1.0已經發布到pecl: yaconf
enjoy!
提公升Win XP速度
1 加快啟動速度 每次啟動windows xp的時候,藍色的滾動條都會不知疲倦地走上好幾圈,對於追求高效率的你,是不是很希望它能少走幾圈呢?其實我們完全可以把它的滾動時間減少,以加快啟動 速度。方法是 開啟登錄檔編輯器,依次展開hkey local machine system currentcon...
提公升程式設計速度
1.多看 多看可以分為,多看總結性的知識點,多看功能型demo,多看技術開發文件。2.多想 就是多思考了,學而不思則罔,思而不學則殆。永恆不變的真理啊。3.多寫 多寫總結性的文件,多寫功能型的demo。最重要的是看到一些知識點之類的,一定要去自己寫一遍。眼過千遍,不如手寫一遍。4.多總結 對知識點進...
如何提公升編碼速度
2016 07 10 一 為什麼程式設計速度慢 敲 的速度 這個不僅僅侷限於swift語言。個人覺得,導致程式開發者,開發速度慢,主要有三點原因。1 對這門語言不熟悉 語言運用不熟練,主要體現在,對程式語言,沒有乙個大體的結構框架。說白了,就是不知道,這們程式語言都是能幹什麼。也不了解這門開發語言的...