57 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			57 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| /**
 | |
|  * Zend Framework (http://framework.zend.com/)
 | |
|  *
 | |
|  * @link      http://github.com/zendframework/zf2 for the canonical source repository
 | |
|  * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
 | |
|  * @license   http://framework.zend.com/license/new-bsd New BSD License
 | |
|  */
 | |
| 
 | |
| namespace ZendBench\Stdlib;
 | |
| 
 | |
| use Athletic\AthleticEvent;
 | |
| use Zend\Stdlib\FastPriorityQueue;
 | |
| use Zend\Stdlib\PriorityQueue;
 | |
| use Zend\Stdlib\SplPriorityQueue;
 | |
| 
 | |
| class ExtractPriorityQueue extends AthleticEvent
 | |
| {
 | |
|     public function classSetUp()
 | |
|     {
 | |
|         $this->splPriorityQueue  = new SplPriorityQueue();
 | |
|         $this->fastPriorityQueue = new FastPriorityQueue();
 | |
|         $this->priorityQueue     = new PriorityQueue();
 | |
| 
 | |
|         for ($i = 0; $i < 5000; $i += 1) {
 | |
|             $priority = rand(1, 100);
 | |
|             $this->splPriorityQueue->insert('foo', $priority);
 | |
|             $this->fastPriorityQueue->insert('foo', $priority);
 | |
|             $this->priorityQueue->insert('foo', $priority);
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * @iterations 5000
 | |
|      */
 | |
|     public function extractSplPriorityQueue()
 | |
|     {
 | |
|         $this->splPriorityQueue->extract();
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * @iterations 5000
 | |
|      */
 | |
|     public function extractPriorityQueue()
 | |
|     {
 | |
|         $this->priorityQueue->extract();
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * @iterations 5000
 | |
|      */
 | |
|     public function extractFastPriorityQueue()
 | |
|     {
 | |
|         $this->fastPriorityQueue->extract();
 | |
|     }
 | |
| }
 | 
