private function benchmarkQueryResultSerialization($queryResult) { if (!$queryResult instanceof QueryResult || $queryResult->getCount() == 0) { $this->benchmarkRunner->addMessage("- S: no serialization"); return; } $this->benchmarkRunner->getBenchmarker()->clear(); $memoryBefore = memory_get_peak_usage(false); for ($i = 0; $i < $this->repetitionExecutionThreshold; $i++) { $start = microtime(true); $queryResult->toArray(); $this->benchmarkRunner->getBenchmarker()->addBenchmarkPoint(microtime(true) - $start); } $memoryAfter = memory_get_peak_usage(false); $memoryDiff = $memoryAfter - $memoryBefore; $sum = $this->benchmarkRunner->getBenchmarker()->getSum(); $mean = $this->benchmarkRunner->getBenchmarker()->getMean(); $sd = $this->benchmarkRunner->getBenchmarker()->getStandardDeviation(); $norm = $this->benchmarkRunner->getBenchmarker()->getNormalizedValueBy($queryResult->getCount()); $this->benchmarkSummaryContainer['(t) serialize'][] = $mean; $this->benchmarkSummaryContainer['(n) serialize'][] = $norm; $this->benchmarkRunner->addMessage("- S: {$mean} (mean) {$sum} (total) {$sd} (sd) (sec)"); if ($this->showMemoryUsage) { $this->benchmarkRunner->addMessage("+- Memory: {$memoryBefore} (before) {$memoryAfter} (after) {$memoryDiff} (diff)"); } }
private function createJobQueueBenchmarks($job) { $jobQueueRunner = $this->runnerFactory->newJobQueueRunner($job); $this->benchmarkRunner->getBenchmarker()->clear(); $memoryBefore = memory_get_peak_usage(false); for ($i = 0; $i < $this->repetitionExecutionThreshold; $i++) { $start = microtime(true); $jobQueueRunner->run(); $this->benchmarkRunner->getBenchmarker()->addBenchmarkPoint(microtime(true) - $start); } $memoryAfter = memory_get_peak_usage(false); $memoryDiff = $memoryAfter - $memoryBefore; $sum = $this->benchmarkRunner->getBenchmarker()->getSum(); $mean = $this->benchmarkRunner->getBenchmarker()->getMean(); $norm = $this->benchmarkRunner->getBenchmarker()->getNormalizedValueBy($job === 'SMW\\RefreshJob' ? 1 : $this->pageCopyThreshold); $this->benchmarkRunner->addMessage("- {$job}: {$norm} (n) {$mean} (mean) {$sum} (total) (sec)"); if ($this->showMemoryUsage) { $this->benchmarkRunner->addMessage("+- Memory: {$memoryBefore} (before) {$memoryAfter} (after) {$memoryDiff} (diff)"); } }
private function createMaintenanceBenchmarks($maintenanceScript) { $maintenanceRunner = $this->runnerFactory->newMaintenanceRunner($maintenanceScript); $maintenanceRunner->setQuiet(); $maintenanceRunner->setOptions(array('f' => $this->fullDelete)); $this->benchmarkRunner->getBenchmarker()->clear(); $memoryBefore = memory_get_peak_usage(false); for ($i = 0; $i < $this->repetitionExecutionThreshold; $i++) { $start = microtime(true); $maintenanceRunner->run(); $this->benchmarkRunner->getBenchmarker()->addBenchmarkPoint(microtime(true) - $start); } $memoryAfter = memory_get_peak_usage(false); $memoryDiff = $memoryAfter - $memoryBefore; $sum = $this->benchmarkRunner->getBenchmarker()->getSum(); $mean = $this->benchmarkRunner->getBenchmarker()->getMean(); $norm = $this->benchmarkRunner->getBenchmarker()->getNormalizedValueBy($this->pageCopyThreshold); $this->benchmarkRunner->addMessage("- {$maintenanceScript}: {$norm} (n) {$mean} (mean) {$sum} (total) (sec)"); if ($this->showMemoryUsage) { $this->benchmarkRunner->addMessage("+- Memory: {$memoryBefore} (before) {$memoryAfter} (after) {$memoryDiff} (diff)"); } }