<?php
<?php
ini_set( 'display_errors', 1 );
error_reporting( E_ALL );
// Make a bit, honkin test array
// You may need to adjust this depth to avoid memory limit errors
$testArray = fillArray( 0, 5 );
// Time json encoding
$start = microtime( true );
json_encode( $testArray );
$jsonTime = microtime( true ) - $start;
echo "JSON encoded in $jsonTime seconds<br>";
// Time serialization
$start = microtime( true );
serialize( $testArray );
$serializeTime = microtime( true ) - $start;
echo "PHP serialized in $serializeTime seconds<br>";
// Compare them
if ( $jsonTime < $serializeTime )
{
echo "json_encode() was roughly " . number_format( ($serializeTime / $jsonTime - 1 ) * 100, 2 ) . "% faster than serialize()";
}
else if ( $serializeTime < $jsonTime )
{
echo "serialize() was roughly " . number_format( ($jsonTime / $serializeTime - 1 ) * 100, 2 ) . "% faster than json_encode()";
} else {
echo 'Unpossible!';
}
function fillArray( $depth, $max )
{
static $seed;
if ( is_null( $seed ) )
{
$seed = array( 'a', 2, 'c', 4, 'e', 6, 'g', 8, 'i', 10 );
}
if ( $depth < $max )
{
$node = array();
foreach ( $seed as $key )
{
$node[$key] = fillArray( $depth + 1, $max );
}
return $node;
}
return 'empty';
}
- Output for 8.0.0 - 8.0.30, 8.1.0 - 8.1.27, 8.2.0 - 8.2.16, 8.3.0 - 8.3.3
- Parse error: syntax error, unexpected token "<", expecting end of file in /in/t76V9 on line 3
Process exited with code 255. - Output for 7.0.0 - 7.0.33, 7.1.0 - 7.1.33, 7.2.0 - 7.2.34, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33
- Parse error: syntax error, unexpected '<', expecting end of file in /in/t76V9 on line 3
Process exited with code 255. - Output for 5.4.0 - 5.4.45, 5.5.0 - 5.5.38, 5.6.0 - 5.6.40
- Parse error: syntax error, unexpected '<' in /in/t76V9 on line 3
Process exited with code 255.
preferences:
354.76 ms | 1395 KiB | 381 Q