|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2021-02-16 15:13 UTC] cmb@php.net
-Status: Open
+Status: Closed
-Assigned To:
+Assigned To: cmb
[2021-02-16 15:13 UTC] cmb@php.net
|
|||||||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Mon Nov 03 09:00:02 2025 UTC |
Description: ------------ The performance of serialize() decreases if the data is deeply nested, eg. consists of array inside an array. Surprisingly, json_encode() is not affected by this issue, thus I'd say there should be some optimizations not used in serialize() serialize() performs great on arrays structured (key => val), but fails ion structs like array( array(key => val) ... ) Test script: --------------- Benchmark json_encode() vs. serialize() on the following data: $arr = array(); for($i = 0; $i < $num_size; $i++) { $arr[md5($i)] = array( sha1($i), SplFixedArray::fromArray( array_fill( 0, 10, hash('sha256', rand(0, $num_size)) ) ) ); } Expected result: ---------------- More or less the same same time comsumed. Actual result: -------------- json_encode() is >3 times faster than serialize(). This increases if the arrays nesting level increases.