[limb-svn] r6411 - 3.x/trunk/limb/core/tests/bench
svn at limb-project.com
svn at limb-project.com
Wed Oct 10 22:46:01 MSD 2007
Author: pachanga
Date: 2007-10-10 22:46:01 +0400 (Wed, 10 Oct 2007)
New Revision: 6411
URL: http://fisheye.limb-project.com/changelog/limb/?cs=6411
Modified:
3.x/trunk/limb/core/tests/bench/require.php
Log:
-- better require benches
Modified: 3.x/trunk/limb/core/tests/bench/require.php
===================================================================
--- 3.x/trunk/limb/core/tests/bench/require.php 2007-10-10 18:13:11 UTC (rev 6410)
+++ 3.x/trunk/limb/core/tests/bench/require.php 2007-10-10 18:46:01 UTC (rev 6411)
@@ -1,61 +1,128 @@
<?php
-set_include_path(dirname(__FILE__) . '/../../../../;.');
+set_include_path(dirname(__FILE__) . '/../../../../' . PATH_SEPARATOR. '.');
require_once('limb/core/common.inc.php');
-//require_once(dirname(__FILE__) . '/bundle.inc.php');
-
$path = dirname(__FILE__) . '/MyClass.class.php';
$mark = microtime(true);
for($i=0;$i<1000;$i++)
{
- lmb_require(dirname(__FILE__) . '/MyClass' . $i . '.class.php');
+ lmb_require('Boo.class.php');
}
-echo "lmb_require not included file: " . (microtime(true) - $mark) . "\n";
+echo "lmb_require same class, no autoload: " . (microtime(true) - $mark) . "\n";
$mark = microtime(true);
for($i=0;$i<1000;$i++)
{
+ lmb_require('Boo' . $i . '.class.php');
+}
+
+echo "lmb_require unique class, no autoload: " . (microtime(true) - $mark) . "\n";
+
+$mark = microtime(true);
+
+for($i=0;$i<1000;$i++)
+{
lmb_require($path);
- $object = new MyClass();
}
+$object = new MyClass();
-echo "lmb_require absolute: " . (microtime(true) - $mark) . "\n";
+echo "lmb_require absolute, same class, autoload: " . (microtime(true) - $mark) . "\n";
$mark = microtime(true);
for($i=0;$i<1000;$i++)
{
lmb_require('MyClass.class.php');
- $object = new MyClass();
}
+$object = new MyClass();
-echo "lmb_require relative: " . (microtime(true) - $mark) . "\n";
+echo "lmb_require relative, same class, autoload: " . (microtime(true) - $mark) . "\n";
+for($i=0;$i<1000;$i++)
+{
+ make_class('UniqueClass' . $i);
+}
$mark = microtime(true);
for($i=0;$i<1000;$i++)
{
- require_once($path);
- $object = new MyClass();
+ $class = 'UniqueClass' . $i;
+ lmb_require(dirname(__FILE__) . '/tmp/'. $class . '.class.php');
+ $object = new $class;
}
-echo "require once absolute: " . (microtime(true) - $mark) . "\n";
+echo "lmb_require absolute, unique class, autoload: " . (microtime(true) - $mark) . "\n";
+$mark = microtime(true);
+for($i=0;$i<1000;$i++)
+{
+ $class = 'UniqueClass' . $i;
+ lmb_require(dirname(__FILE__) . '/tmp/'. $class . '.class.php');
+ $object = new $class;
+}
+
+echo "lmb_require absolute, again: " . (microtime(true) - $mark) . "\n";
+
$mark = microtime(true);
for($i=0;$i<1000;$i++)
{
+ require_once($path);
+}
+$object = new MyClass();
+
+echo "require_once absolute, same class: " . (microtime(true) - $mark) . "\n";
+
+$mark = microtime(true);
+
+for($i=0;$i<1000;$i++)
+{
require_once('MyClass.class.php');
- $object = new MyClass();
}
+$object = new MyClass();
-echo "require once relative: " . (microtime(true) - $mark) . "\n";
+echo "require_once relative, same class: " . (microtime(true) - $mark) . "\n";
+for($i=0;$i<1000;$i++)
+{
+ make_class('UniqueClazz' . $i);
+}
+$mark = microtime(true);
+
+for($i=0;$i<1000;$i++)
+{
+ $class = 'UniqueClazz' . $i;
+ require_once(dirname(__FILE__) . '/tmp/' . $class . '.class.php');
+ $object = new $class();
+}
+
+echo "require_once absolute, unique class: " . (microtime(true) - $mark) . "\n";
+
+$mark = microtime(true);
+
+for($i=0;$i<1000;$i++)
+{
+ $class = 'UniqueClazz' . $i;
+ require_once(dirname(__FILE__) . '/tmp/' . $class . '.class.php');
+ $object = new $class();
+}
+
+echo "require_once absolute, again: " . (microtime(true) - $mark) . "\n";
+
+`rm -rf ./tmp`;
+
+function make_class($name)
+{
+ if(!is_dir('./tmp'))
+ mkdir('./tmp');
+ file_put_contents('./tmp/' . $name . '.class.php',
+ '<?php class ' . $name . ' {}; ?>');
+}
More information about the limb-svn
mailing list