Chris@0
|
1 <?php
|
Chris@0
|
2 /**
|
Chris@0
|
3 * Zend Framework (http://framework.zend.com/)
|
Chris@0
|
4 *
|
Chris@0
|
5 * @link http://github.com/zendframework/zf2 for the canonical source repository
|
Chris@0
|
6 * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
|
Chris@0
|
7 * @license http://framework.zend.com/license/new-bsd New BSD License
|
Chris@0
|
8 */
|
Chris@0
|
9
|
Chris@0
|
10 namespace ZendBench\Stdlib;
|
Chris@0
|
11
|
Chris@0
|
12 use Athletic\AthleticEvent;
|
Chris@0
|
13 use Zend\Stdlib\FastPriorityQueue;
|
Chris@0
|
14 use Zend\Stdlib\PriorityQueue;
|
Chris@0
|
15 use Zend\Stdlib\SplPriorityQueue;
|
Chris@0
|
16
|
Chris@0
|
17 class ExtractPriorityQueue extends AthleticEvent
|
Chris@0
|
18 {
|
Chris@0
|
19 public function classSetUp()
|
Chris@0
|
20 {
|
Chris@0
|
21 $this->splPriorityQueue = new SplPriorityQueue();
|
Chris@0
|
22 $this->fastPriorityQueue = new FastPriorityQueue();
|
Chris@0
|
23 $this->priorityQueue = new PriorityQueue();
|
Chris@0
|
24
|
Chris@0
|
25 for ($i = 0; $i < 5000; $i += 1) {
|
Chris@0
|
26 $priority = rand(1, 100);
|
Chris@0
|
27 $this->splPriorityQueue->insert('foo', $priority);
|
Chris@0
|
28 $this->fastPriorityQueue->insert('foo', $priority);
|
Chris@0
|
29 $this->priorityQueue->insert('foo', $priority);
|
Chris@0
|
30 }
|
Chris@0
|
31 }
|
Chris@0
|
32
|
Chris@0
|
33 /**
|
Chris@0
|
34 * @iterations 5000
|
Chris@0
|
35 */
|
Chris@0
|
36 public function extractSplPriorityQueue()
|
Chris@0
|
37 {
|
Chris@0
|
38 $this->splPriorityQueue->extract();
|
Chris@0
|
39 }
|
Chris@0
|
40
|
Chris@0
|
41 /**
|
Chris@0
|
42 * @iterations 5000
|
Chris@0
|
43 */
|
Chris@0
|
44 public function extractPriorityQueue()
|
Chris@0
|
45 {
|
Chris@0
|
46 $this->priorityQueue->extract();
|
Chris@0
|
47 }
|
Chris@0
|
48
|
Chris@0
|
49 /**
|
Chris@0
|
50 * @iterations 5000
|
Chris@0
|
51 */
|
Chris@0
|
52 public function extractFastPriorityQueue()
|
Chris@0
|
53 {
|
Chris@0
|
54 $this->fastPriorityQueue->extract();
|
Chris@0
|
55 }
|
Chris@0
|
56 }
|