2013-01-25 19:13:33 +04:00
|
|
|
<?php
|
2013-02-07 17:37:16 +04:00
|
|
|
require_once __DIR__.'/scripts/bootstrap.php';
|
2013-07-22 18:03:43 +04:00
|
|
|
|
|
|
|
$opt = getopt("h", array(
|
|
|
|
/** @var string $message */
|
|
|
|
"cleanup",
|
|
|
|
/** @var boolean $stress */
|
|
|
|
"stress:",
|
|
|
|
/** @var boolean $auto_reload */
|
|
|
|
"auto_reload",
|
|
|
|
/** @vat boolean $help */
|
|
|
|
/** @vat boolean $h */
|
|
|
|
"help"
|
|
|
|
));
|
|
|
|
|
|
|
|
$opt += array(
|
|
|
|
"stress" => 0
|
|
|
|
);
|
|
|
|
|
|
|
|
extract($opt);
|
|
|
|
|
|
|
|
if(isset($h) || isset($help)) {
|
|
|
|
echo "
|
|
|
|
Start: ".basename(__FILE__)." [--stress COUNT] [--auto_reload] [--cleanup]
|
|
|
|
Usage: ".basename(__FILE__)." [--help | -h]
|
|
|
|
";
|
|
|
|
exit;
|
|
|
|
}
|
|
|
|
|
|
|
|
Benchmark::$stress = intval($stress);
|
|
|
|
Benchmark::$auto_reload = isset($auto_reload);
|
|
|
|
|
2013-02-07 17:37:16 +04:00
|
|
|
exec("rm -rf ".__DIR__."/compile/*");
|
2013-01-25 19:13:33 +04:00
|
|
|
|
2013-06-28 11:53:53 +04:00
|
|
|
echo "Smarty3 vs Twig vs Fenom\n\n";
|
2013-01-25 19:13:33 +04:00
|
|
|
|
|
|
|
echo "Generate templates... ";
|
|
|
|
passthru("php ".__DIR__."/templates/inheritance/smarty.gen.php");
|
|
|
|
passthru("php ".__DIR__."/templates/inheritance/twig.gen.php");
|
|
|
|
echo "Done\n";
|
|
|
|
|
2013-02-07 17:37:16 +04:00
|
|
|
echo "Testing a lot output...\n";
|
|
|
|
|
2013-05-17 22:20:29 +04:00
|
|
|
Benchmark::runs("smarty3", 'echo/smarty.tpl', __DIR__.'/templates/echo/data.json');
|
|
|
|
Benchmark::runs("twig", 'echo/twig.tpl', __DIR__.'/templates/echo/data.json');
|
2013-06-28 11:53:53 +04:00
|
|
|
Benchmark::runs("fenom", 'echo/smarty.tpl', __DIR__.'/templates/echo/data.json');
|
2013-07-02 11:07:33 +04:00
|
|
|
//if(extension_loaded("phalcon")) {
|
|
|
|
// Benchmark::runs("volt", 'echo/twig.tpl', __DIR__.'/templates/echo/data.json');
|
|
|
|
//}
|
2013-01-25 19:13:33 +04:00
|
|
|
echo "\nTesting 'foreach' of big array...\n";
|
2013-02-07 17:37:16 +04:00
|
|
|
|
|
|
|
Benchmark::runs("smarty3", 'foreach/smarty.tpl', __DIR__.'/templates/foreach/data.json');
|
2013-05-17 22:20:29 +04:00
|
|
|
Benchmark::runs("twig", 'foreach/twig.tpl', __DIR__.'/templates/foreach/data.json');
|
2013-06-28 11:53:53 +04:00
|
|
|
Benchmark::runs("fenom", 'foreach/smarty.tpl', __DIR__.'/templates/foreach/data.json');
|
2013-07-02 11:07:33 +04:00
|
|
|
//if(extension_loaded("phalcon")) {
|
|
|
|
// Benchmark::runs("volt", 'foreach/twig.tpl', __DIR__.'/templates/foreach/data.json');
|
|
|
|
//}
|
2013-01-25 19:13:33 +04:00
|
|
|
|
|
|
|
echo "\nTesting deep 'inheritance'...\n";
|
2013-02-07 17:37:16 +04:00
|
|
|
|
|
|
|
Benchmark::runs("smarty3", 'inheritance/smarty/b100.tpl', __DIR__.'/templates/foreach/data.json');
|
2013-04-22 10:15:14 +04:00
|
|
|
Benchmark::runs("twig", 'inheritance/twig/b100.tpl', __DIR__.'/templates/foreach/data.json');
|
2013-06-28 11:53:53 +04:00
|
|
|
Benchmark::runs("fenom", 'inheritance/smarty/b100.tpl', __DIR__.'/templates/foreach/data.json');
|
2013-07-02 11:07:33 +04:00
|
|
|
//if(extension_loaded("phalcon")) {
|
|
|
|
// Benchmark::runs("volt", 'inheritance/twig/b100.tpl', __DIR__.'/templates/foreach/data.json');
|
|
|
|
//}
|
2013-01-25 19:13:33 +04:00
|
|
|
|
2013-07-22 18:03:43 +04:00
|
|
|
echo "\nDone\n";
|
|
|
|
if(isset($cleanup)) {
|
|
|
|
echo "Cleanup.\n";
|
|
|
|
passthru("rm -rf ".__DIR__."/compile/*");
|
|
|
|
passthru("rm -f ".__DIR__."/templates/inheritance/smarty/*");
|
|
|
|
passthru("rm -f ".__DIR__."/templates/inheritance/twig/*");
|
|
|
|
}
|