Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17
  1. #1

    troppa memoria occupata dalle variabili globali

    Ciao a tutti, sto ottimizzando l'uso della memoria in un'applicazione web, ho notato una cosa molto strana: una pagina bianca usa 2,3 mega. Attraverso un software di profiling ho visto che le variabili $_POST, $_FILES, $_COOKIE usano 2,2 mega (su ognuna segna quel valore, ma non vanno sommati, ovviamente, credo che quelle variabili rimandino l'una all'altra), il fatto è che che se faccio un var_dump sono vuote! idee?

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Bisognerebbe vedere se questo software di profiling che usi è affidabile prima di sbattere la testa a cercare soluzioni per una cosa che non ne richiede.

  3. #3
    giusto, ho usato phpQuickProfiler, è un software molto noto, consigliato come valida alternativa a xdebug

    edit:dimenticavo, uso yii come framework, infatti stavo testando l'uso di memoria del framework in una pagina bianca, per vedere se si poteva ottimizzare, solo non mi spiego perchè sono proprio quelle variabili ad occupare memoria, dato che sono vuote!

  4. #4
    edit: era un bug nel profiler

    public function logMemory($object = false, $name = 'PHP') {
    $memory = memory_get_usage();
    if($object) $memory = strlen(serialize($object));
    $logItem = array(
    "data" => $memory,
    "type" => 'memory',
    "name" => $name,
    "dataType" => gettype($object)
    );
    $GLOBALS['debugger_logs']['console'][] = $logItem;
    $GLOBALS['debugger_logs']['memoryCount'] += 1;
    }

    se gli passi un array vuoto non entra nell'if e ti restituisce memory get usage, avevi visto lungo!!!

  5. #5
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    e' coem stampare la dimensione di "INT" non e' un bug ...

    se tu vari strlen( var_export(new stdClass() ) avrai sempre un output in bytes riferito alla stringa restituita da var_export.


    prova a fare cosi ' .

    $object = array();
    $memory = var_export($object,true) ;
    //$memory = strlen(serialize($object));
    echo $memory;

    e vedere cosa ti da... la logica e' questa ovviamente devi applicarla alla funzione che fa il conteggio.

  6. #6
    virus, ho editato sopra, era un bug nel profiler, grazie comunque dell'aiuto

  7. #7
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    Acchio non male che in softweare di profilazione ci sia un bug di questo tipo sul progfiler.

    Cmq grazie della segnalazione ora ne prendo nota se mai dovessi suare questo software

    Ciauz.

  8. #8

    Re: troppa memoria occupata dalle variabili globali

    Originariamente inviato da leahcim (su ognuna segna quel valore, ma non vanno sommati, ovviamente, credo che quelle variabili rimandino l'una all'altra)
    No, sono tre variabili diverse e completamente separate.

  9. #9
    Utente di HTML.it L'avatar di _debo
    Registrato dal
    Mar 2012
    residenza
    London, UK
    Messaggi
    858
    Se vuoi proprio a tutti i costi usare un profiler che non sia xdebug ti consiglio vivamente di usare xhprof.

  10. #10
    Bel suggerimento, gli ho dato un'occhiata veloce, lo terrò presente, anche se sevo dire che, a parte quel bug che mi ha fatto perdere 2 ore, phpQuickProfiler è davvero "quick". Poche funzioni, pochi fronzoli, facile, interfaccia carina, direi che è l'ideale per iniziare. Poi secondo necessità si può passare a cose più complesse tipo quella che hai proposto tu.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.