Ein riesiges Array benötigt mehr Speicherplatz als benötigt

8

Momentan verwendet meine App ungefähr 7 MB Speicher.

Das Array scheint 700 KB zu verwenden, wenn ich es mit strlen(serialize($array)))) überprüfe.

  • Wenn Sie dieses Array in meiner App verwenden und die Speichernutzung überprüfen (mit memory_get_peak_usage() ), erhalte ich 14 MB.

  • Wenn ich es nicht benutze, bekomme ich 7 MB.

Wenn dieses Array 700 KB serialisiert, warum benötigt PHP 7 MB für diese Variable? Oder mache ich den Benchmark falsch?

    
ellabeauty 11.08.2012, 23:30
quelle

2 Antworten

10

Sie wollen weg von PHP, wenn Sie das stört: Ссылка . PHP-Arrays sind nur etwas Lebensraum.

Wenn möglich, könnten Sie SplFixedArray verwenden, aber dann interessiert es wieder, welchen Platz ein PHP-Array einnimmt. Wenn Sie auf der Suche nach Clean- / Performance-Produkten sind, warum verwenden Sie PHP überhaupt (ja, das kommt von einem PHP-Typ):)

    
PeeHaa 11.08.2012, 23:36
quelle
1

Serialisierte Formate können Speicher optimieren, da sie das Objekt nicht im Speicher haben müssen und vollständig zugänglich sind. Sie behalten nur die Integrität der Daten, nicht die Zugänglichkeit. Wenn dies hilft, Ihre Frage ein wenig zu beantworten.

    
hakre 12.08.2012 09:03
quelle

Tags und Links