<?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(); } };