@@ -289,7 +289,7 @@ function test_storeStrings($amount=1024*1024, $real=false)
289289
290290 printf (
291291 $ format ,
292- 'Native Array ' ,
292+ 'PHP Array ' ,
293293 number_format ($ native_add_time , 2 ) . "s " ,
294294 number_format ($ native_loop_time , 2 ) . "s " ,
295295 number_format ($ native_total_time , 2 ) . "s " ,
@@ -489,6 +489,52 @@ function test_storeArrays($amount=1024*1024, $real=false)
489489
490490 $ format = "%16.16s | %12.12s | %8.8s | %10.10s | %13.13s \n" ;
491491
492+
493+ // Mesure native storing as json
494+ $ native_json_total_time = microtime (true );
495+ $ list = [];
496+
497+ // adding items
498+ $ native_json_add_time = microtime (true );
499+ for ($ i =0 ; $ i <$ amount ; $ i ++)
500+ {
501+ $ list [] = json_encode (["name " => "hello world " . $ i ]);
502+ }
503+ $ native_json_add_time = microtime (true ) - $ native_json_add_time ;
504+
505+ // loop all data
506+ $ native_json_loop_time = microtime (true );
507+ foreach ($ list as $ value ){ json_decode ($ value ); }
508+ $ native_json_loop_time = microtime (true ) - $ native_json_loop_time ;
509+
510+ $ native_json_memory_usage = ceil (memory_get_usage ($ real ) / 1024 / 1024 ) . "MB " ;
511+
512+ $ native_json_total_time = microtime (true ) - $ native_json_total_time ;
513+
514+
515+ // Mesure native storing as serialized
516+ $ native_serial_total_time = microtime (true );
517+ $ list = [];
518+
519+ // adding items
520+ $ native_serial_add_time = microtime (true );
521+ for ($ i =0 ; $ i <$ amount ; $ i ++)
522+ {
523+ $ list [] = serialize (["name " => "hello world " . $ i ]);
524+ }
525+ $ native_serial_add_time = microtime (true ) - $ native_serial_add_time ;
526+
527+ // loop all data
528+ $ native_serial_loop_time = microtime (true );
529+ foreach ($ list as $ value ){ unserialize ($ value ); }
530+ $ native_serial_loop_time = microtime (true ) - $ native_serial_loop_time ;
531+
532+ $ native_serial_memory_usage = ceil (memory_get_usage ($ real ) / 1024 / 1024 ) . "MB " ;
533+
534+ $ native_serial_total_time = microtime (true ) - $ native_serial_total_time ;
535+
536+ $ format = "%16.16s | %12.12s | %8.8s | %10.10s | %13.13s \n" ;
537+
492538 printf (
493539 $ format ,
494540 'Structures ' ,
@@ -566,12 +612,31 @@ function test_storeArrays($amount=1024*1024, $real=false)
566612
567613 printf (
568614 $ format ,
569- 'Native Array ' ,
615+ 'PHP Array ' ,
570616 number_format ($ native_add_time , 2 ) . "s " ,
571617 number_format ($ native_loop_time , 2 ) . "s " ,
572618 number_format ($ native_total_time , 2 ) . "s " ,
573619 $ native_memory_usage
574620 );
621+
622+ printf (
623+ $ format ,
624+ ' -> JSON ' ,
625+ number_format ($ native_json_add_time , 2 ) . "s " ,
626+ number_format ($ native_json_loop_time , 2 ) . "s " ,
627+ number_format ($ native_json_total_time , 2 ) . "s " ,
628+ $ native_json_memory_usage
629+ );
630+
631+ printf (
632+ $ format ,
633+ ' -> Serialized ' ,
634+ number_format ($ native_serial_add_time , 2 ) . "s " ,
635+ number_format ($ native_serial_loop_time , 2 ) . "s " ,
636+ number_format ($ native_serial_total_time , 2 ) . "s " ,
637+ $ native_serial_memory_usage
638+ );
639+
575640}
576641
577642function test_storeIntegers ($ amount =1024 *1024 , $ real =false )
@@ -842,7 +907,7 @@ function test_storeIntegers($amount=1024*1024, $real=false)
842907
843908 printf (
844909 $ format ,
845- 'Native Array ' ,
910+ 'PHP Array ' ,
846911 number_format ($ native_add_time , 2 ) . "s " ,
847912 number_format ($ native_loop_time , 2 ) . "s " ,
848913 number_format ($ native_total_time , 2 ) . "s " ,
0 commit comments