Skip to content

Instantly share code, notes, and snippets.

@sminnee
Created December 8, 2016 21:49
Show Gist options
  • Select an option

  • Save sminnee/23d936f804cd10e62a51674f0197f3a7 to your computer and use it in GitHub Desktop.

Select an option

Save sminnee/23d936f804cd10e62a51674f0197f3a7 to your computer and use it in GitHub Desktop.
<?php
$data1 = [ "bla" => "foo", "whee" => [ "something", [ 1, 2, 3, 4, 5 ] ] ];
$data2 = [ "baz" => $data1, "heh" => $data1, "yep" => [6, 7, 8, 9 ,10 ] ];
$data3 = [ $data1, $data2, $data1, $data2, $data1, $data2 ];
$data4 = [ "something" => $data3, "else" => [$data1, $data2], "heh" => [ $data3, $data3, $data3 ] ];
define('COUNT', 100000);
timeIt("serialize/unserialize", function () use ($data4) {
for ($i=0; $i<COUNT; $i++) {
$ser = serialize($data4);
$cmp = unserialize($ser);
//if ($cmp !== $data4) {
// echo "Bad data!";
//}
}
});
timeIt("json_encode/json_decode", function () use ($data4) {
for ($i=0; $i<COUNT; $i++) {
$ser = json_encode($data4);
$cmp = json_decode($ser, true);
//if ($cmp !== $data4) {
// echo "Bad data!";
//}
}
});
function timeIt($label, $callback)
{
$t1 = microtime(true);
$callback();
$t2 = microtime(true);
echo "$label: " . ($t2-$t1) . " seconds\n";
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment