當前位置:首頁 >  站長 >  編程技術 >  正文

PHP數組實際占用內存大小原理解析

 2020-12-14 14:31  來源: 腳本之家   我來投稿 撤稿糾錯

  域名預訂/競價,好“米”不錯過

這篇文章主要介紹了PHP數組實際占用內存大小原理解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

一般來說,PHP數組的內存利用率只有 1/10, 也就是說,一個在C語言里面100M 內存的數組,在PHP里面就要1G。下面我們可以粗略的估算PHP數組占用內存的大小,首先我們測試1000個元素的整數占用的內存:

<?php
  echo memory_get_usage() , '<br>';
  $start = memory_get_usage();
  $a = Array();
  for ($i=0; $i<1000; $i++) {
  $a[$i] = $i + $i;
  }
  $mid = memory_get_usage();
  echo memory_get_usage() , '<br>';
  for ($i=1000; $i<2000; $i++) {
  $a[$i] = $i + $i;
  }
  $end = memory_get_usage();
  echo memory_get_usage() , '<br>';
  echo 'argv:', ($mid - $start)/1000 ,'bytes' , '<br>';
  echo 'argv:',($end - $mid)/1000 ,'bytes' , '<br>';

輸出是:

353352

437848

522024

argv:84.416bytes

argv:84.176bytes

大概了解1000 個元素的整數數組需要占用 82k 內存,平均每個元素占用 84 個字節(jié)。而純 C 中整體只需要 4k(一個整型占用4byte * 1000 )。memory_get_usage() 返回的結果并不是全是被數組占用了,還要包括一些 PHP 運行本身分配的一些結構,可能用內置函數生成的數組更接近真實的空間:

申請創(chuàng)業(yè)報道,分享創(chuàng)業(yè)好點子。點擊此處,共同探討創(chuàng)業(yè)新機遇!

相關標簽
php教程

相關文章

熱門排行

信息推薦