本文整理汇总了PHP中memory_get_peak_usage函数的典型用法代码示例。如果您正苦于以下问题:PHP memory_get_peak_usage函数的具体用法?PHP memory_get_peak_usage怎么用?PHP memory_get_peak_usage使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了memory_get_peak_usage函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: run
public static function run($r)
{
$commands = array('detailed_system_info' => null, 'list_available_tests' => null, 'list_available_suites' => null, 'info' => array('xonotic'), 'clone_openbenchmarking_result' => array('1107247-LI-MESACOMMI48'), 'result_file_to_text' => array('1107247-LI-MESACOMMI48'), 'diagnostics' => null, 'dump_possible_options' => null);
$individual_times = array();
phodevi::clear_cache();
$start = microtime(true);
foreach ($commands as $command => $args) {
echo PHP_EOL . '### ' . $command . ' ###' . PHP_EOL;
$individual_times[$command] = array();
for ($i = 0; $i < 3; $i++) {
$c_start = microtime(true);
pts_client::execute_command($command, $args);
$c_finish = microtime(true);
array_push($individual_times[$command], $c_finish - $c_start);
}
}
$finish = microtime(true);
echo PHP_EOL . PHP_EOL . '### OVERALL DATA ###' . PHP_EOL . PHP_EOL;
echo 'PHP: ' . PTS_PHP_VERSION . PHP_EOL;
$longest_c = max(array_map('strlen', array_keys($individual_times)));
foreach ($individual_times as $component => $times) {
echo strtoupper($component) . ': ' . str_repeat(' ', $longest_c - strlen($component)) . pts_math::set_precision(round(array_sum($times) / count($times), 3), 3) . ' seconds' . PHP_EOL;
}
echo PHP_EOL . 'ELAPSED TIME: ' . str_repeat(' ', $longest_c - strlen('ELAPSED TIME')) . round($finish - $start, 3) . ' seconds';
echo PHP_EOL . 'PEAK MEMORY USAGE: ' . str_repeat(' ', $longest_c - strlen('PEAK MEMORY USAGE')) . round(memory_get_peak_usage(true) / 1048576, 3) . ' MB';
echo PHP_EOL . 'PEAK MEMORY USAGE (emalloc): ' . str_repeat(' ', $longest_c - strlen('PEAK MEMORY USAGE (emalloc)')) . round(memory_get_peak_usage() / 1048576, 3) . ' MB';
echo PHP_EOL;
}
示例2: measure
/** Allows you to time things and get memory usage
@param name the name of the measure to be printed out with results. To get the timing between events, the name should be the same.
*/
static function measure($name = 'std')
{
$next = count(self::$measures[$name]);
self::$measures[$name][$next]['time'] = microtime(true);
self::$measures[$name][$next]['mem'] = memory_get_usage();
self::$measures[$name][$next]['peakMem'] = memory_get_peak_usage();
}
示例3: lib_peak_memory
function lib_peak_memory()
{
$oneMb = 1024 * 1024;
$memory = memory_get_peak_usage() / $oneMb;
$memory = round($memory, 4);
return floatval($memory);
}
示例4: __invoke
/**
* @param array $record
* @return array
*/
public function __invoke(array $record)
{
$bytes = memory_get_peak_usage($this->realUsage);
$formatted = $this->formatBytes($bytes);
$record['extra'] = array_merge($record['extra'], array('memory_peak_usage' => $formatted));
return $record;
}
示例5: getEndingNotes
/**
* Get ending notes
*
* @param array $writers
*/
function getEndingNotes($writers)
{
$result = '';
// Do not show execution time for index
if (!IS_INDEX) {
$result .= date('H:i:s') . " Done writing file(s)" . EOL;
$result .= date('H:i:s') . " Peak memory usage: " . memory_get_peak_usage(true) / 1024 / 1024 . " MB" . EOL;
}
// Return
if (CLI) {
$result .= 'The results are stored in the "results" subdirectory.' . EOL;
} else {
if (!IS_INDEX) {
$types = array_values($writers);
$result .= '<p> </p>';
$result .= '<p>Results: ';
foreach ($types as $type) {
if (!is_null($type)) {
$resultFile = 'results/' . SCRIPT_FILENAME . '.' . $type;
if (file_exists($resultFile)) {
$result .= "<a href='{$resultFile}' class='btn btn-primary'>{$type}</a> ";
}
}
}
$result .= '</p>';
}
}
return $result;
}
示例6: paintFooter
/**
* Paints the end of the test with a summary of
* the passes and failures.
*
* @param PHPUnit_Framework_TestResult $result Result object
*
* @return void
*/
public function paintFooter($result)
{
ob_end_flush();
$colour = $result->failureCount() + $result->errorCount() > 0 ? "red" : "green";
echo "</ul>\n";
echo "<div style=\"";
echo "padding: 8px; margin: 1em 0; background-color: {$colour}; color: white;";
echo "\">";
echo $result->count() - $result->skippedCount() . "/" . $result->count();
echo " test methods complete:\n";
echo "<strong>" . count($result->passed()) . "</strong> passes, ";
echo "<strong>" . $result->failureCount() . "</strong> fails, ";
echo "<strong>" . $this->numAssertions . "</strong> assertions and ";
echo "<strong>" . $result->errorCount() . "</strong> exceptions.";
echo "</div>\n";
echo '<div style="padding:0 0 5px;">';
echo '<p><strong>Time:</strong> ' . $result->time() . ' seconds</p>';
echo '<p><strong>Peak memory:</strong> ' . number_format(memory_get_peak_usage()) . ' bytes</p>';
echo $this->_paintLinks();
echo '</div>';
if (isset($this->params['codeCoverage']) && $this->params['codeCoverage']) {
$coverage = $result->getCodeCoverage();
if (method_exists($coverage, 'getSummary')) {
$report = $coverage->getSummary();
echo $this->paintCoverage($report);
}
if (method_exists($coverage, 'getData')) {
$report = $coverage->getData();
echo $this->paintCoverage($report);
}
}
$this->paintDocumentEnd();
}
示例7: debugHelper
public function debugHelper()
{
echo "<pre>";
echo "<b>Kajona V4 Debug Subsystem</b>\n\n";
if (getGet("debugfile") != "") {
echo "Loading path for " . getGet("debugfile") . "\n";
$strPath = array_search(getGet("debugfile"), class_resourceloader::getInstance()->getFolderContent("/debug", array(".php")));
if ($strPath !== false) {
echo "Passing request to " . $strPath . "\n\n";
include _realpath_ . $strPath;
}
} else {
echo "Searching for debug-scripts available...\n";
$arrFiles = class_resourceloader::getInstance()->getFolderContent("/debug", array(".php"));
echo "<ul>";
foreach ($arrFiles as $strPath => $strOneFile) {
echo "<li><a href='?debugfile=" . $strOneFile . "' >" . $strOneFile . "</a> <br />" . $strPath . "</li>";
}
echo "</ul>";
}
$arrTimestampEnde = gettimeofday();
$intTimeUsed = ($arrTimestampEnde['sec'] * 1000000 + $arrTimestampEnde['usec'] - ($this->arrTimestampStart['sec'] * 1000000 + $this->arrTimestampStart['usec'])) / 1000000;
echo "\n\n<b>PHP-Time:</b> " . number_format($intTimeUsed, 6) . " sec \n";
echo "<b>Queries db/cachesize/cached/fired:</b> " . class_carrier::getInstance()->getObjDB()->getNumber() . "/" . class_carrier::getInstance()->getObjDB()->getCacheSize() . "/" . class_carrier::getInstance()->getObjDB()->getNumberCache() . "/" . (class_carrier::getInstance()->getObjDB()->getNumber() - class_carrier::getInstance()->getObjDB()->getNumberCache()) . "\n";
echo "<b>Templates cached:</b> " . class_carrier::getInstance()->getObjTemplate()->getNumberCacheSize() . " \n";
echo "<b>Memory/Max Memory:</b> " . bytesToString(memory_get_usage()) . "/" . bytesToString(memory_get_peak_usage()) . " \n";
echo "<b>Classes Loaded:</b> " . class_classloader::getInstance()->getIntNumberOfClassesLoaded() . " \n";
echo "<b>Cache requests/hits/saves/cachesize:</b> " . class_cache::getIntRequests() . "/" . class_cache::getIntHits() . "/" . class_cache::getIntSaves() . "/" . class_cache::getIntCachesize() . " \n";
echo "</pre>";
}
示例8: process
public function process()
{
$this->data['time_taken'] = self::timer_stop_float();
$this->data['time_limit'] = ini_get('max_execution_time');
$this->data['time_start'] = $GLOBALS['timestart'];
if (!empty($this->data['time_limit'])) {
$this->data['time_usage'] = 100 / $this->data['time_limit'] * $this->data['time_taken'];
} else {
$this->data['time_usage'] = 0;
}
if (function_exists('memory_get_peak_usage')) {
$this->data['memory'] = memory_get_peak_usage();
} else {
if (function_exists('memory_get_usage')) {
$this->data['memory'] = memory_get_usage();
} else {
$this->data['memory'] = 0;
}
}
if (is_user_logged_in()) {
$this->data['current_user'] = self::format_user(wp_get_current_user());
} else {
$this->data['current_user'] = false;
}
if (function_exists('current_user_switched') && current_user_switched()) {
$this->data['switched_user'] = self::format_user(current_user_switched());
} else {
$this->data['switched_user'] = false;
}
$this->data['memory_limit'] = QM_Util::convert_hr_to_bytes(ini_get('memory_limit'));
$this->data['memory_usage'] = 100 / $this->data['memory_limit'] * $this->data['memory'];
$this->data['is_admin'] = is_admin();
}
示例9: make_stats
/**
* method make_stats
* param
* return builds the statistics
*/
public static function make_stats()
{
// INITIAL TIME
$mtime = microtime();
$mtime = explode(" ", $mtime);
$mtime = $mtime[1] + $mtime[0];
$starttime = $mtime;
self::$time = time();
// INITIAL MEMORY
$result['initial_memory'] = array(round(memory_get_usage() / 1024, 1), round(memory_get_usage(1) / 1024, 1));
// MAKE STATISTICS FOR USERS
self::make_user_rank();
// MAKE STATISTICS FOR ALLIANCE
self::make_ally_rank();
// END STATISTICS BUILD
$mtime = microtime();
$mtime = explode(" ", $mtime);
$mtime = $mtime[1] + $mtime[0];
$endtime = $mtime;
$result['stats_time'] = self::$time;
$result['totaltime'] = $endtime - $starttime;
$result['memory_peak'] = array(round(memory_get_peak_usage() / 1024, 1), round(memory_get_peak_usage(1) / 1024, 1));
$result['end_memory'] = array(round(memory_get_usage() / 1024, 1), round(memory_get_usage(1) / 1024, 1));
return $result;
}
示例10: render
/**
*
* render DebugInfo
* @return string
*/
public function render()
{
if ($this->isDisabled()) {
return;
}
$this->isDisabled = true;
$this->timerEnd(self::START_APP);
$this->memoryEnd(self::START_APP);
$output = '';
//Timer
$output .= '<h4>Timer</h4>';
foreach ($this->debug['timer'] as $timer) {
$output .= $timer . '<br/>';
}
//SQL
$output .= '<h4>SQL</h4>';
$output .= '<table>';
foreach ($this->debug['sql'] as $sql) {
$output .= sprintf('<tr><td>%s</td><td>%d</td><td>%.2f</td></tr>', $sql[0], $sql[1], $sql[2]);
}
$output .= '</table>';
//Memory
$output .= '<h4>Memory</h4>';
$output .= 'Пик использования памяти: ' . round(memory_get_peak_usage() / 1000, 0) . ' Кб<br/>';
foreach ($this->debug['memory'] as $memory) {
$output .= $memory . '<br/>';
}
return $output;
}
示例11: flush
/**
* 格納されたログを出力する
*/
public static final function flush()
{
if (self::isPublishLevel() >= 4) {
self::$LOG[] = new self(4, "use memory: " . number_format(memory_get_usage()) . "byte / " . number_format(memory_get_peak_usage()) . "byte");
self::$LOG[] = new self(4, sprintf("------- end logger ( %f sec ) ------- ", microtime(true) - (double) self::$START));
}
if (!empty(self::$LOG)) {
$level = array("none", "error", "warning", "info", "debug");
foreach (self::$LOG as $log) {
$value = $log->value();
if (Rhaco::def("core.Log@expression") === true) {
ob_start();
var_dump($value);
$value = substr(ob_get_clean(), 0, -1);
}
$value = "[" . $level[$log->level()] . " " . $log->time() . "]:[" . $log->file() . ":" . $log->line() . "] " . $value . "\n";
if (self::$DISP_LEVEL >= $log->level() && self::$DISP) {
print $value;
}
if (self::$FILE_LEVEL >= $log->level()) {
if (empty(self::$PATH)) {
throw new Exception("not found path");
}
File::append(sprintf("%s/%s.log", File::path(self::$PATH), date("Ymd")), $value);
}
self::call_filter($level[$log->level()], $log);
}
self::call_filter("flush", self::$LOG);
}
self::$LOG = array();
}
示例12: statisticsEnd
/**
* Stop and output statistics
*
* @param string $name
*/
public function statisticsEnd($name)
{
$this->hr();
$this->out('Took: ' . $this->_startTime[$name]->diff(new DateTime())->format('%ad %hh %im %ss'));
$this->out('Memory: ' . sprintf('%0.3f', memory_get_peak_usage(true) / (1024 * 1024)) . "Mb max used");
$this->hr();
}
示例13: mark
/**
* Mark profile system's information
*
* @return mixed
*/
public function mark()
{
$currentMem = memory_get_usage() / 1048576;
$mark = ['memory_MB' => $currentMem, 'next_memory_MB' => $currentMem - $this->_prevMemory, 'memory_get_usage' => memory_get_usage(), 'memory_get_peak_usage' => memory_get_peak_usage()];
$this->_prevMemory = $currentMem;
return $mark;
}
示例14: index
public function index()
{
// auth
if (!$this->cron) {
Util\Auth::isAdminAuthorized($this->app->user(), 'admin.dev', false, '/');
}
$this->log('start');
$options = [];
$options['where'][] = 'cron.active = 1';
$options['order'][] = 'cron.display_order';
$crons = \Own\Bus\Cron\Data::loadAll($options);
foreach ($crons as $cron) {
$notExpired = $cron->getLastRun()->add(new \DateInterval('PT' . $cron->getSchedule() . 'M')) > new Util\DateTime();
if ($this->cron && $notExpired) {
continue;
}
if ($cron->getMethod() != 'match' && $notExpired) {
continue;
}
if (!$this->cron && $this->app->timer() > 25) {
break;
}
$cron->setLastRun(date('Y-m-d H:i:s'));
$cron->save();
$method = $cron->getMethod();
$this->{$method}();
}
$message = $this->app->timer() . 's,
' . $this->app->queryCount() . ' queries,
' . round(memory_get_peak_usage() / 1024) . ' kb';
$this->log($message);
}
示例15: smarty_function_memusage
function smarty_function_memusage($params, $smarty)
{
if (function_exists('memory_get_peak_usage')) {
// PHP 5.2+
$memusage = memory_get_peak_usage();
} elseif (function_exists('memory_get_usage')) {
//PHP 4 >= 4.3.2, PHP 5
$memusage = memory_get_usage();
} else {
$memusage = 0;
}
if ($memusage > 0) {
$memunit = "B";
if ($memusage > 1024) {
$memusage = $memusage / 1024;
$memunit = "kB";
}
if ($memusage > 1024) {
$memusage = $memusage / 1024;
$memunit = "MB";
}
if ($memusage > 1024) {
$memusage = $memusage / 1024;
$memunit = "GB";
}
print number_format($memusage, 2) . $memunit;
} else {
print tra("Unknown");
}
}