本文整理汇总了PHP中Benchmark类的典型用法代码示例。如果您正苦于以下问题:PHP Benchmark类的具体用法?PHP Benchmark怎么用?PHP Benchmark使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Benchmark类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: testDumpReturnArrayWithMarks
function testDumpReturnArrayWithMarks()
{
$benchmark = new Benchmark();
$a = $benchmark->add_mark("Start test");
$b = $benchmark->remove_mark($a);
$c = $benchmark->dump();
$this->assertIsA($c, array());
}
示例2: main
function main()
{
// Read number of queries to run from URL parameter
$query_count = 1;
if (!empty($_GET['queries'])) {
$query_count = intval($_GET['queries']);
}
// Fix the queries limits
$query_count = $query_count < 1 ? 1 : ($query_count > 500 ? 500 : $query_count);
$b = new Benchmark();
$b->bench_updates($query_count);
}
示例3: getInstance
/**
* Sigleton
*
* @return Benchmark object
* @author Danillo César de Oliveira Melo
*/
public static function getInstance()
{
if (!isset(self::$instance)) {
self::$instance = new Benchmark();
}
return self::$instance;
}
示例4: init
private static function init()
{
self::$initialized = true;
$root_benchmark = new Benchmark(null, null);
self::$opened_benchmarks = array();
self::$opened_benchmarks[] = $root_benchmark;
}
示例5: show_load_time
function show_load_time($layout)
{
$layout .= '<style type="text/css">
div.cms_debug{
background-color: white;
position: fixed;
bottom:0;
-moz-box-shadow:0 -1px 4px #000;
box-shadow:0 -1px 4px #000;
-webkit-box-shadow:0 -1px 4px #000;
padding: 2px 4px 0 4px;
left:10px;
opacity:0.3;
}
div.cms_debug:hover{
opacity:1;
}
</style>';
Benchmark::stop('Load Time');
$layout .= '<div class="cms_debug">';
foreach (Benchmark::get_totals() as $total) {
$layout .= $total . '<br>';
}
$layout .= '</div>';
}
示例6: getAllMarks
public static function getAllMarks()
{
$bench = Benchmark::factory();
$result = array();
foreach ($bench->getMarks() as $k => $timer) {
$result[$k] = $bench->getMark($timer->getName());
}
return $result;
}
示例7: execute
/**
* Starts the execution. Root path is passed to avoid recalculation.
*
*/
public static function execute()
{
// Register autoloader:
spl_autoload_register(array('\\Sifo\\Bootstrap', 'includeFile'));
// Set paths:
self::$root = ROOT_PATH;
self::$application = dirname(__FILE__);
Benchmark::getInstance()->timingStart();
self::dispatch(self::$script_controller);
Benchmark::getInstance()->timingStop();
}
示例8: benchmarks
/**
* Database query benchmarks.
*
* @return void
*/
public function benchmarks()
{
$benchmarks = Benchmark::get(TRUE);
// Moves the first benchmark (total execution time) to the end of the array
$benchmarks = array_slice($benchmarks, 1) + array_slice($benchmarks, 0, 1);
$table = array();
$table[] = array('Benchmark', 'Time', 'Memory');
foreach ($benchmarks as $name => $benchmark) {
// Clean unique id from system benchmark names
$name = ucwords(str_replace(array('_', '-'), ' ', str_replace(SYSTEM_BENCHMARK . '_', '', $name)));
$table[] = array($name, number_format($benchmark['time'], 3), number_format($benchmark['memory'] / 1024 / 1024, 2) . 'MB');
}
$this->firephp->fb(array(count($benchmarks) . ' benchmarks took ' . number_format($benchmark['time'], 3) . ' seconds and used up ' . number_format($benchmark['memory'] / 1024 / 1024, 2) . 'MB' . ' memory', $table), FirePHP::TABLE);
}
示例9: add_as_author_of
public function add_as_author_of(User_Model $author, ORM $object)
{
if ($this->is_possible_to_add_authors_to($object)) {
Benchmark::start('add_as_author_of');
try {
$database = new Database();
$database->from('workshop_data');
$database->set(array('object_name' => $object->object_name, 'user_id' => $author->id, 'object_id' => $object->id));
$database->insert();
} catch (Kohana_Database_Exception $e) {
if (strstr($e->getMessage(), 'Duplicate entry')) {
throw new Workshop_Duplicate_Author_Exception($author, $object);
} else {
throw $e;
}
}
Benchmark::stop('add_as_author_of');
} else {
throw new Workshop_Max_Limit_Exception($object, $this->get_number_of_authors_of($object), 1, $this->config_delegate->max_authors_for($object));
}
}
示例10: display
static function display()
{
$status = array('requested url' => SE::getCurrentUrl(), 'controller' => SE::getController(), 'action' => SE::getAction(), 'params' => 'array(' . join(', ', SE::getParams()) . ')', 'request method' => Request::method());
self::displayTable($status, 'Dispatcher status');
$markers = array();
$old_mark = '';
foreach (Benchmark::$mark as $mark => $time) {
$markers[$mark] = Benchmark::time($old_mark, $mark);
$old_mark = $mark;
}
self::displayTable($markers, 'Benchmark');
if (!empty($_GET)) {
self::displayTable($_GET, 'GET');
}
if (!empty($_POST)) {
self::displayTable($_POST, 'POST');
}
if (!empty($_COOKIE)) {
self::displayTable($_COOKIE, 'COOKIE');
}
self::displayTable($_SERVER, 'SERVER');
}
示例11: save_results
/**
* Saves the benchmark results to a database
* @todo Use the database libraries for this instead of platform-specific DB calls
*
* @return void
*/
public static function save_results()
{
// Ignore all of these actions if we have benchmarking disabled
if (Kohana::config('benchmark.enable') === FALSE) {
return FALSE;
}
// Connect to the benchmark database
$db = Kohana::config('benchmark.db');
$link = mysql_connect($db['host'], $db['user'], $db['pass']) or die('Could not connect to benchmark database.');
mysql_select_db($db['database']) or die('Could not select benchmark database.');
$table = mysql_real_escape_string($db['table_prefix']) . 'benchmark';
$benchmark_results = Benchmark::get(TRUE);
foreach ($benchmark_results as $name => $data) {
// Don't save the generic system benchmark results
if (strstr($name, 'system_benchmark_') === FALSE) {
$query = 'INSERT INTO ' . $table . ' (`name`, `time`, `memory`) VALUES (\'' . mysql_real_escape_string($name) . '\', \'' . mysql_real_escape_string($data['time']) . '\', \'' . mysql_real_escape_string($data['memory']) . '\');';
// Execute the query
mysql_query($query, $link);
}
}
// Close the connection to the Benchmar DB
mysql_close($link);
}
示例12: echo_formatted_data
private function echo_formatted_data($data, $datatype)
{
Benchmark::start('echo_formatted_data');
switch (strtolower($datatype)) {
case 'json':
header('Content-type: application/json');
$json = json_encode($data);
$callback = $this->input->get('jsonp_callback');
if ($callback) {
echo $callback . '(' . $json . ');';
} else {
echo $json;
}
break;
case 'xml':
header('Content-type: application/xml');
$xml = '<?xml version="1.0" encoding="UTF-8"?><result></result>';
$xml = simplexml_load_string($xml);
$this->create_xml_object($xml, $data);
$dom = new DOMDocument('1.0');
$dom->preserveWhiteSpace = false;
$dom->formatOutput = true;
$dom->loadXML($xml->asXML());
echo $dom->saveXML();
break;
case 'csv':
header('Content-type: text/csv');
$outstream = fopen("php://output", 'w');
if (!isset($data[0])) {
$data = current($data);
}
$firstElm = current($data);
if (!isset($firstElm[0])) {
fputcsv($outstream, array_keys(get_object_vars(current(current($data)))), ',', '"');
} else {
fputcsv($outstream, array_keys(get_object_vars(current($data))), ',', '"');
}
function __outputCSV(&$vals, $key, $filehandler)
{
if (!isset($vals[0])) {
fputcsv($filehandler, get_object_vars(current($vals)), ',', '"');
} else {
fputcsv($filehandler, get_object_vars($vals), ',', '"');
}
}
array_walk($data, '__outputCSV', $outstream);
fclose($outstream);
break;
default:
throw new Kohana_404_Exception();
break;
}
Benchmark::stop('echo_formatted_data');
}
示例13: benchmarks
/**
* Benchmark times and memory usage from the Benchmark library.
*
* @return void
*/
public function benchmarks()
{
if (!($table = $this->table('benchmarks'))) {
return;
}
$table->add_column();
$table->add_column('kp-column kp-data');
$table->add_column('kp-column kp-data');
$table->add_row(array('Benchmarks', 'Time', 'Memory'), 'kp-title', 'background-color: #FFE0E0');
$benchmarks = Benchmark::get(TRUE);
// Moves the first benchmark (total execution time) to the end of the array
$benchmarks = array_slice($benchmarks, 1) + array_slice($benchmarks, 0, 1);
text::alternate();
foreach ($benchmarks as $name => $benchmark) {
// Clean unique id from system benchmark names
$name = ucwords(str_replace(array('_', '-'), ' ', str_replace(SYSTEM_BENCHMARK . '_', '', $name)));
$data = array($name, number_format($benchmark['time'], 3), number_format($benchmark['memory'] / 1024 / 1024, 2) . 'MB');
$class = text::alternate('', 'kp-altrow');
if ($name == 'Total Execution') {
$class = 'kp-totalrow';
}
$table->add_row($data, $class);
}
}
示例14: array
<?php
$time = array();
$mem = array();
include 'Benchmark.php';
$benchmark = new Benchmark();
if (!empty($_POST)) {
ob_start();
foreach ($_POST['code'] as $code) {
for ($n = 0; $n < $_POST['iterations']; $n++) {
$benchmark->start();
eval($code);
$benchmark->finish();
}
$time[] = $benchmark->get_time();
$mem[] = $benchmark->get_memory();
$benchmark->flush();
}
ob_end_clean();
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>PHP Benchmark</title>
<style type="text/css">
* { margin:0; padding:0; }
body { font:90% Arial, Helvetica, sans-serif; padding:2em; }
form textarea, form input { font-family:"Courier New", Courier, monospace; }
.block { float:left; }
示例15: die
if (!is_dir("{$repoPath}/.git")) {
die("{$repoPath} does not contain .git");
}
// get repo
chdir($repoPath);
// sync trees
foreach ($repoCfg['trees'] as $srcPath => $treeOptions) {
if (is_string($treeOptions)) {
$treeOptions = array('path' => $treeOptions);
}
$treeOptions = array_merge($exportOptions, $treeOptions, ['dataPath' => false]);
if (!is_string($srcPath)) {
$srcPath = $treeOptions['path'];
} elseif (!$treeOptions['path']) {
$treeOptions['path'] = $srcPath;
}
$srcFileNode = Site::resolvePath($srcPath);
if (is_a($srcFileNode, 'SiteFile')) {
$destDir = dirname($treeOptions['path']);
if ($destDir && !is_dir($destDir)) {
mkdir($destDir, 0777, true);
}
copy($srcFileNode->RealPath, $treeOptions['path']);
Benchmark::mark("exported file {$srcPath} to {$treeOptions['path']}");
} else {
$exportResult = Emergence_FS::exportTree($srcPath, $treeOptions['path'], $treeOptions);
Benchmark::mark("exported directory {$srcPath} to {$treeOptions['path']}: " . http_build_query($exportResult));
}
}
Benchmark::mark("wrote all changes");