From ebaf0724fb92850732ed6f34aaf39849674d8c00 Mon Sep 17 00:00:00 2001 From: H Hautakoski Date: Sun, 12 Sep 2010 19:15:58 +0200 Subject: [PATCH 1/5] layout: fixed path to js-script --- application/modules/default/views/layout/default.phtml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/application/modules/default/views/layout/default.phtml b/application/modules/default/views/layout/default.phtml index cf217c7..857a5a4 100644 --- a/application/modules/default/views/layout/default.phtml +++ b/application/modules/default/views/layout/default.phtml @@ -7,7 +7,7 @@ headScript() ?> - +
@@ -37,4 +37,4 @@
- \ No newline at end of file + From e44bdc275d07dcd068e43e43b502c45ccfd4c706 Mon Sep 17 00:00:00 2001 From: H Hautakoski Date: Tue, 14 Sep 2010 22:35:30 +0200 Subject: [PATCH 2/5] dbmodel --- db.mwb | Bin 12798 -> 13720 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/db.mwb b/db.mwb index 9b28c511602d5676aac9d6ccc8558e7925b8eed0..a39d41070ef721f1bbe1ccc3e6630db001cf149e 100644 GIT binary patch literal 13720 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 Date: Wed, 15 Sep 2010 19:06:54 +0200 Subject: [PATCH 3/5] Fiktiv_Performance: refactoring --- library/Fiktiv/Performance.php | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/library/Fiktiv/Performance.php b/library/Fiktiv/Performance.php index 9316793..eb0546f 100644 --- a/library/Fiktiv/Performance.php +++ b/library/Fiktiv/Performance.php @@ -2,21 +2,36 @@ class Fiktiv_Performance { - + /** + * @var float + */ protected static $_start = null; - protected static $_end = null; + /** + * @var float + */ + protected static $_end = null; + + /** + * @return void + */ public static function begin() { self::$_start = microtime(true); } + /** + * @return float + */ public static function end() { self::$_end = microtime(true); - return self::$_end - self::$_start; + return self::results(); } + /** + * @return float + */ public static function results() { return self::$_end - self::$_start; From 7cc97822d088e64cf2f0fd6bbde37ec3e05339cb Mon Sep 17 00:00:00 2001 From: H Hautakoski Date: Sun, 19 Sep 2010 16:28:03 +0200 Subject: [PATCH 4/5] no comment. --- library/Fiktiv/Performance.php | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/library/Fiktiv/Performance.php b/library/Fiktiv/Performance.php index b00a5d3..75d551c 100644 --- a/library/Fiktiv/Performance.php +++ b/library/Fiktiv/Performance.php @@ -6,14 +6,8 @@ class Fiktiv_Performance * @var float */ protected static $_start = null; - protected static $_end = null; protected static $_result = null; - /** - * @var float - */ - protected static $_end = null; - /** * @return void */ @@ -27,9 +21,7 @@ class Fiktiv_Performance */ public static function end() { - self::$_end = microtime(true); - - self::$_result = self::$_end - self::$_start; + self::$_result = microtime(true) - self::$_start; return self::result(); } From c0189183f95d2b893dad1c7df040da7ce3ae6db2 Mon Sep 17 00:00:00 2001 From: H Hautakoski Date: Sun, 19 Sep 2010 16:33:23 +0200 Subject: [PATCH 5/5] cleanup --- library/Fiktiv/Performance.php | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/library/Fiktiv/Performance.php b/library/Fiktiv/Performance.php index 75d551c..eeb8610 100644 --- a/library/Fiktiv/Performance.php +++ b/library/Fiktiv/Performance.php @@ -41,11 +41,11 @@ class Fiktiv_Performance 'results' => array() ); - for ($x=0;$x<$times;$x++) { + for($x=0; $x < $times; $x++) { self::begin(); - for ($y=0;$y<$iterations;$y++) { + for($y=0; $y < $iterations; $y++) { call_user_func_array($function, $params); } @@ -53,12 +53,13 @@ class Fiktiv_Performance $result['total'] += self::result(); - if ($result['min'] > self::result() || empty($result['min'])) + if ($result['min'] > self::result() || empty($result['min'])) { $result['min'] = self::result(); + } - if ($result['max'] < self::result()) + if ($result['max'] < self::result()) { $result['max'] = self::result(); - + } } $result['avg'] = array_sum($result['results']) / count($result['results']);