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)");
     }
 }