Автор Тема: использование памяти массивом  (Прочитано 2384 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Foshvad

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 307
  • +0/-0
  • 0
    • Просмотр профиля
Есть массив. Например $menu;
Можно ли, и если можно, то как, оценить объем памяти, которое он (массив) занимает.

Оффлайн Britva

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1660
  • +0/-0
  • 0
    • Просмотр профиля
    • http://eugeny.com
использование памяти массивом
« Ответ #1 : 15 Мая 2002, 15:09:51 »
for($i=0,$total=0;$i<sizeof($menu);$i++) {
  
$total += strlen($menu[$i]) + 4;
}

где 4, это как минимум, а может быть больше, т.к. помимо длины может еще что-нить храниться.
это ИМХО, а вообще нужно открывать исх. код и смотреть.
Евгений aka Razor,

Оффлайн Foshvad

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 307
  • +0/-0
  • 0
    • Просмотр профиля
использование памяти массивом
« Ответ #2 : 15 Мая 2002, 15:18:40 »
Да нет, побайтово посчитать я могу :))
Вопрос не в этом.
Если массив вида

$menu
[\'first\'][\'second\'][0] = \'hahaha\';


это ведь не тоже самое, что


$menu
[0] = \'hahaha\';


или отличие только в скорости обработки?


И что в общем случае разумнее - делать ассоциативный массив или пробегаться под обычному?

Оффлайн Britva

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1660
  • +0/-0
  • 0
    • Просмотр профиля
    • http://eugeny.com
использование памяти массивом
« Ответ #3 : 15 Мая 2002, 15:27:33 »
http://www.php.spb.ru/php/speed.html

p.s. правильно вопрос ставить надо
Евгений aka Razor,

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
использование памяти массивом
« Ответ #4 : 15 Мая 2002, 16:56:30 »
Цитировать
И что в общем случае разумнее - делать ассоциативный массив или пробегаться под обычному?
ИМХО ассоциативные массивы сделаны прежде всего для удобства. А разница в скорости не такая уж и большая. Не думаю, что у тебя массив будет в несколько мегабайт.
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн Foshvad

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 307
  • +0/-0
  • 0
    • Просмотр профиля
использование памяти массивом
« Ответ #5 : 15 Мая 2002, 17:00:20 »
Спасибо за преинтереснейшую сылочку! Весь ужас стал очевиден :)

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28