摘要:一直以為的數(shù)組更節(jié)省內(nèi)存,從來沒有測試過,今天因為要讀取一個大配置文件作為。做了一次測試得出結(jié)論是使用對象保存數(shù)據(jù)更好,花費的內(nèi)存是數(shù)組的。
一直以為php的數(shù)組更節(jié)省內(nèi)存,從來沒有測試過,今天因為要讀取一個大配置文件作為pool。做了一次測試;
得出結(jié)論是 使用對象保存數(shù)據(jù)更好,花費的內(nèi)存是數(shù)組array的1/4。
測試代碼
class obj { public $name; public $id; public function __construct($id,$name) { $this->name = $name; $this->id = $id; } } $max = 10000; $old = memory_get_usage(); for ($i=0;$i<$max;$i++){ $arrayList[] = [$i,$max]; } $new = memory_get_usage(); echo "{$max}個數(shù)組(默認key)內(nèi)存消耗".($new-$old)." "; $old = memory_get_usage(); for ($i=0;$i<$max;$i++){ $arrayList[] = ["id"=>$i,"name"=>$max]; } $new = memory_get_usage(); echo "{$max}個數(shù)組(和對象可以互相轉(zhuǎn)換的)內(nèi)存消耗".($new-$old)." "; $old = memory_get_usage(); for ($i=0;$i<$max;$i++){ $objectList[] = new obj($i,$max); } $new = memory_get_usage(); echo "{$max}個對象內(nèi)存消耗".($new-$old)." ";
結(jié)果
10000個數(shù)組(默認key)內(nèi)存消耗 4288440 10000個數(shù)組(和對象可以互相轉(zhuǎn)換的)內(nèi)存消耗 4284288 10000個對象內(nèi)存消耗 1451320
大概比例
array:object = 4:1
越是復(fù)雜的數(shù)組,用過同等對象保存,內(nèi)存小更多
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/29254.html
摘要:刪除不必要的代碼。而簡化前的代碼包含的語法要素對于傳達代碼意義本身作用并不大。刪除不必要的代碼有時候,我們試圖為不必要的事物命名。例如,大多數(shù)情況下,你應(yīng)該省略僅僅用來當(dāng)做返回值的變量。你的函數(shù)名應(yīng)該已經(jīng)說明了關(guān)于函數(shù)返回值的信息。 原文地址 本文已在前端早讀課公眾號首發(fā):【第952期】JavaScript代碼風(fēng)格要素 譯者:墨白 校對:野草 1920年,由威廉·斯特倫克(Will...
摘要:數(shù)據(jù)檢索有兩種主要形態(tài)。所以,回歸本質(zhì),影響數(shù)據(jù)檢索效率的就那么幾個因素。數(shù)據(jù)檢索干的是什么事情定位加載變換找到所需要的數(shù)據(jù),把數(shù)據(jù)從遠程或者磁盤加載到內(nèi)存中。減少的數(shù)據(jù)量的兩個手段,聚合和抽樣。 數(shù)據(jù)檢索有兩種主要形態(tài)。第一種是純數(shù)據(jù)庫型的。典型的結(jié)構(gòu)是一個關(guān)系型數(shù)據(jù),比如 mysql。用戶通過 SQL 表達出所需要的數(shù)據(jù),mysql 把 SQL 翻譯成物理的數(shù)據(jù)檢索動作返回結(jié)果。第...
摘要:內(nèi)置函數(shù)的性能優(yōu)劣。產(chǎn)生額外開銷的錯誤抑制符號,最好別用不管是性能優(yōu)化和項目的健壯性等方面。在方法中遞增局部變量,速度是最快的。類似的方法調(diào)用所花費的時間接近于次的局部變量遞增操作。 什么情況之下,會遇到PHP性能問題?1:PHP語法使用不恰當(dāng)。2:使用PHP語言做了它不擅長的事情。3:使用PHP語言連接的服務(wù)不給力。4:PHP自身的短板(PHP自身做不了的事情)。5:我們也不知道的問...
摘要:大型網(wǎng)站建議用自代的集群功能從個人過往的使用情況來看,的負載能力比高很多。最新的服務(wù)器也改用了。你對的需求決定你的選擇。在模式下,如果處理慢或者前端壓力很大的情況下,很容易出現(xiàn)進程數(shù)飆升,從而拒絕服務(wù)的現(xiàn)象。 1、nginx相對于apache的優(yōu)點: 輕量級,同樣起web 服務(wù),比apache占用更少的內(nèi)存及資源 抗并發(fā),nginx 處理請求是異步非阻塞的,而apache 則是阻塞型的...
閱讀 739·2023-04-25 19:43
閱讀 3983·2021-11-30 14:52
閱讀 3811·2021-11-30 14:52
閱讀 3872·2021-11-29 11:00
閱讀 3806·2021-11-29 11:00
閱讀 3905·2021-11-29 11:00
閱讀 3584·2021-11-29 11:00
閱讀 6193·2021-11-29 11:00