예제 #1
0
 /**
  * Бенчмарк для проверки корректной работы и скорости кеша
  * @param bool $cache
  * */
 static function miniBenchmark($cache = true)
 {
     $t = [];
     $mark = function ($marker) use(&$t) {
         $t[$marker] = microtime(1);
         return $t[$marker];
     };
     $bulkObj = new BulkLib();
     $bulkObj->setCacheOn();
     if ($cache == false) {
         $cacheFlag = "<span style='color:red'>Кэш выключен</span>";
         $bulkObj->setCacheOff();
     } else {
         $cacheFlag = "<span style='color:#000'>Кэш включен</span>";
     }
     echo '</br><strong>[ Benchmark started: ' . $cacheFlag . ']</strong></br>';
     echo '</br><strong>Start:</strong>';
     echo $mark('one');
     echo ':#####################</br>';
     for ($i = 1; $i <= 15; $i++) {
         $bulkObj->prepareUserData(array(isset($_GET['user1']) ? (int) $_GET['user1'] : 1, isset($_GET['user2']) ? (int) $_GET['user2'] : 2, isset($_GET['user3']) ? (int) $_GET['user3'] : 12));
         echo $bulkObj->outUserData() . '-</br>';
     }
     echo '</br><strong>End:</strong>';
     echo $mark('two');
     echo '#####################</br>';
     echo "<b>Время работы скрипта, сек:</b>" . sprintf("%01.5f", $t['two'] - $t['one']);
     echo '</br></br><strong>[ Benchmark finished: ]</strong></br>';
 }
예제 #2
0
파일: bulk.php 프로젝트: fvy/SampleTestTask
 *

CREATE TABLE IF NOT EXISTS `users` (
`user` int(11) NOT NULL AUTO_INCREMENT,
`name` char(52) NOT NULL,
PRIMARY KEY (`user`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=13 ;

INSERT INTO `users` (`user`, `name`) VALUES
(1, 'Остап Бендер'),
(2, 'John Smith'),
(3, 'China'),
(4, 'Germany'),
(5, 'France'),
(6, 'United Kingdom'),
(7, 'India'),
(8, 'Russia'),
(9, 'Armenia'),
(10, 'United States'),
(11, 'Ukraine'),
(12, 'Jorik');

 **/
require __DIR__ . '/BulkLib.php';
$bulkObj = new BulkLib();
$bulkObj->prepareUserData(array(isset($_GET['user1']) ? (int) $_GET['user1'] : 1, isset($_GET['user2']) ? (int) $_GET['user2'] : 2, isset($_GET['user3']) ? (int) $_GET['user3'] : 12));
echo $bulkObj->outUserData();
// 15 итераций аналогичных с кэшем
BulkLib::miniBenchmark();
// 15 итераций без кэша
BulkLib::miniBenchmark(false);