Esempio n. 1
0
 private function registerBenchmark(Container $container)
 {
     $container->register('benchmark.runner', function (Container $container) {
         return new Runner($container->get('benchmark.collection_builder'), $container->get('benchmark.registry.executor'), $container->getParameter('retry_threshold'), $container->getParameter('config_path'));
     });
     $container->register('benchmark.executor.microtime', function (Container $container) {
         return new MicrotimeExecutor($container->get('benchmark.remote.launcher'));
     }, array('benchmark_executor' => array('name' => 'microtime')));
     $container->register('benchmark.executor.debug', function (Container $container) {
         return new DebugExecutor($container->get('benchmark.remote.launcher'));
     }, array('benchmark_executor' => array('name' => 'debug')));
     $container->register('benchmark.finder', function (Container $container) {
         return new Finder();
     });
     $container->register('benchmark.remote.launcher', function (Container $container) {
         return new Launcher($container->hasParameter('bootstrap') ? $container->getParameter('bootstrap') : null);
     });
     $container->register('benchmark.remote.reflector', function (Container $container) {
         return new Reflector($container->get('benchmark.remote.launcher'));
     });
     $container->register('benchmark.metadata.driver.annotation', function (Container $container) {
         return new AnnotationDriver($container->get('benchmark.remote.reflector'));
     });
     $container->register('benchmark.metadata_factory', function (Container $container) {
         return new Factory($container->get('benchmark.remote.reflector'), $container->get('benchmark.metadata.driver.annotation'));
     });
     $container->register('benchmark.collection_builder', function (Container $container) {
         return new CollectionBuilder($container->get('benchmark.metadata_factory'), $container->get('benchmark.finder'));
     });
     $container->register('benchmark.time_unit', function (Container $container) {
         return new TimeUnit(TimeUnit::MICROSECONDS, $container->getParameter('time_unit'));
     });
 }
Esempio n. 2
0
 private function registerBenchmark(Container $container)
 {
     $container->register('benchmark.runner', function (Container $container) {
         return new Runner($container->get('benchmark.benchmark_finder'), $container->get('benchmark.registry.executor'), $container->get('environment.supplier'), $container->getParameter('retry_threshold'), $container->getParameter('config_path'));
     });
     $container->register('benchmark.executor.microtime', function (Container $container) {
         return new MicrotimeExecutor($container->get('benchmark.remote.launcher'));
     }, ['benchmark_executor' => ['name' => 'microtime']]);
     $container->register('benchmark.executor.debug', function (Container $container) {
         return new DebugExecutor($container->get('benchmark.remote.launcher'));
     }, ['benchmark_executor' => ['name' => 'debug']]);
     $container->register('benchmark.finder', function (Container $container) {
         return new Finder();
     });
     $container->register('benchmark.remote.launcher', function (Container $container) {
         return new Launcher(new PayloadFactory(), new ExecutableFinder(), $container->hasParameter('bootstrap') ? $container->getParameter('bootstrap') : null, $container->hasParameter('php_binary') ? $container->getParameter('php_binary') : null, $container->hasParameter('php_config') ? $container->getParameter('php_config') : null, $container->hasParameter('php_wrapper') ? $container->getParameter('php_wrapper') : null);
     });
     $container->register('benchmark.remote.reflector', function (Container $container) {
         return new Reflector($container->get('benchmark.remote.launcher'));
     });
     $container->register('benchmark.annotation_reader', function (Container $container) {
         return new AnnotationReader($container->getParameter('annotation_import_use'));
     });
     $container->register('benchmark.metadata.driver.annotation', function (Container $container) {
         return new AnnotationDriver($container->get('benchmark.remote.reflector'), $container->getParameter('subject_pattern'), $container->get('benchmark.annotation_reader'));
     });
     $container->register('benchmark.metadata_factory', function (Container $container) {
         return new Factory($container->get('benchmark.remote.reflector'), $container->get('benchmark.metadata.driver.annotation'));
     });
     $container->register('benchmark.benchmark_finder', function (Container $container) {
         return new BenchmarkFinder($container->get('benchmark.metadata_factory'), $container->get('benchmark.finder'));
     });
     $container->register('benchmark.baseline_manager', function (Container $container) {
         $manager = new BaselineManager();
         $callables = array_merge(['nothing' => '\\PhpBench\\Benchmark\\Baseline\\Baselines::nothing', 'md5' => '\\PhpBench\\Benchmark\\Baseline\\Baselines::md5', 'file_rw' => '\\PhpBench\\Benchmark\\Baseline\\Baselines::fwriteFread'], $container->getParameter('env_baseline_callables'));
         foreach ($callables as $name => $callable) {
             $manager->addBaselineCallable($name, $callable);
         }
         return $manager;
     });
     $container->register('benchmark.time_unit', function (Container $container) {
         return new TimeUnit(TimeUnit::MICROSECONDS, $container->getParameter('time_unit'));
     });
 }