Ejemplo n.º 1
0
<?php

require_once '/Users/igariev/dev/PHP-Parser/lib/bootstrap.php';
require_once dirname(__FILE__) . '/../XRef.class.php';
$b = new Benchmark();
$filename = '../predis/lib/Predis/Client.php';
$code = file_get_contents($filename);
my_echo("File", $filename);
my_echo("Code size", strlen($code), "bytes");
$parser = new PHPParser_Parser(new PHPParser_Lexer());
$f = function () use($parser, $code) {
    $parser->parse($code);
};
my_echo("PHP-Parser", $b->timeIt($f, 30), "sec");
$stmts = $parser->parse($code);
$serialized = serialize($stmts);
my_echo("PHP-P serialized size", strlen($serialized), "bytes");
$compressed = gzcompress($serialized);
my_echo("PHP-P compressed size", strlen($compressed), "bytes");
$gzencoded = gzencode($serialized);
my_echo("PHP-P gzencoded size", strlen($gzencoded), "bytes");
$f = function () use($serialized) {
    $stmts = unserialize($serialized);
};
my_echo("PHP-P unserialize time", $b->timeIt($f), "sec");
$f = function () use($compressed) {
    $data = gzuncompress($compressed);
    if (!$data) {
        throw new Exception();
    }
};