За последние 24 часа нас посетили 59889 программистов и 1771 робот. Сейчас ищут 813 программистов ...

вопрос по оптимизации

Тема в разделе "Прочее", создана пользователем antonn, 30 мар 2008.

  1. Sergey89

    Sergey89 Активный пользователь

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    PHP:
    1.  
    2. <?php
    3. function a() {
    4.     $a = array(/* тут много данных */);
    5.     print 'A: ' . memory_get_usage() . " | ";
    6. }
    7.  
    8. print '<pre>';
    9. print memory_get_usage() . "\n";
    10.  
    11. for ($i = 0; $i < 10; $i++) {
    12.     a();
    13.     print memory_get_usage() . "\n";
    14. }
    15. print memory_get_usage() . "\n";
    Код (Text):
    1. 46076
    2. A: 224032 | 111300
    3. A: 224096 | 111284
    4. A: 224100 | 111284
    5. A: 224100 | 111284
    6. A: 224096 | 111284
    7. A: 224100 | 111284
    8. A: 224100 | 111284
    9. A: 224096 | 111284
    10. A: 224100 | 111284
    11. A: 224100 | 111284
    12. 111284
    Добавим static
    Код (Text):
    1. 214352
    2. A: 214664 | 214664
    3. A: 214664 | 214664
    4. A: 214664 | 214664
    5. A: 214664 | 214664
    6. A: 214664 | 214664
    7. A: 214664 | 214664
    8. A: 214664 | 214664
    9. A: 214664 | 214664
    10. A: 214664 | 214664
    11. A: 214664 | 214664
    12. 214664
    Очень похоже на то, что PHP выделил память в момент определения функции.
     
  2. Clone

    Clone Guest

    antonn, я бы не стал ожидать от PHP вообще какой-либо прозрачной, низкоуровневой оптимизации...
     
  3. Sergey89

    Sergey89 Активный пользователь

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    Этого надо ждать от Zend Engine, с нормальным манагером памяти :)
     
  4. antonn

    antonn Активный пользователь

    С нами с:
    10 июн 2007
    Сообщения:
    2.996
    Симпатии:
    0
    Clone
    ну почему бы и нет, очень распространенный язык, на нем крутится много сайтов, тем более он парсер, он просто должен кешировать :)
     
  5. Clone

    Clone Guest

    antonn, он исполняемый код-то не кеширует(только с расширениями), а ты хочешь какой-то хитрой :) Ну или можно Zend Optimizer поставить, он может чего и делает такого прям растакого...