Пример #1
0
my_echo("PHP-P array unserialize time", $b->timeIt($f), "sec");
$xref = new XRef();
// init autoload etc
$parser = new XRef_Parser_PHP();
$f = function () use($parser, $code, $filename) {
    $pf = $parser->parse($code, $filename);
    $pf->release();
};
my_echo("XRef internal parser", $b->timeIt($f, 30), "sec");
$slices = array();
$pf = $parser->parse($code, $filename);
$project_database = new XRef_ProjectDatabase();
foreach ($xref->getPlugins("XRef_IProjectLintPlugin") as $id => $plugin) {
    $slices[$id] = $plugin->createFileSlice($pf);
}
$slices['_db'] = $project_database->createFileSlice($pf);
$pf->release();
$serialized = serialize($slices);
my_echo("XRef serialized size", strlen($serialized), "bytes");
$compressed = gzcompress($serialized);
my_echo("XRef compressed size", strlen($compressed), "bytes");
$f = function () use($serialized) {
    $slices = unserialize($serialized);
};
my_echo("XRef unserialize time", $b->timeIt($f), "sec");
function my_echo($prefix, $data, $suffix = null)
{
    printf('%-30s %s', $prefix . ':', $data);
    if ($suffix) {
        echo " ", $suffix;
    }