- microtime: documentation ( source)
- unserialize: documentation ( source)
- serialize: documentation ( source)
- number_format: documentation ( source)
<?php
$n = 2000;
class ClassMetadata
{
public $assocations;
}
class Association
{
public $inverse;
public $name;
public $joinColumn;
public $joinTable;
public $cascade;
}
$association = new Association();
$association->inverse = "foobar";
$association->name = "foobar";
$association->joinColumn = array("baz" => "boing");
$association->joinTable = "foobar";
$association->cascade = array("persist", "remove", "merge");
$cm = new ClassMetadata();
$cm->associations = array($association, $association);
$start = microtime(true);
for ($i = 0; $i < $n; $i++) {
$data = unserialize(serialize($cm));
}
echo number_format(microtime(true) - $start, 4) . "\n";
$cm->associations = array((array)$association, (array)$association);
$start = microtime(true);
for ($i = 0; $i < $n; $i++) {
$data = unserialize(serialize($cm));
}
echo number_format(microtime(true) - $start, 4) . "\n";