3v4l.org

run code in 500+ PHP versions simultaneously
<?php set_time_limit(0); Class Static0 { public static $counter = 0; public static function incrByTwo() { self::$counter += 2; } } Class Static1 extends Static0 { public static function incrByOne() { self::$counter++; } public static function incrByTwo() { parent::incrByTwo(); } } Class Dynamic0 { public $counter = 0; public function incrByTwo() { $this->counter += 2; } } Class Dynamic1 extends Dynamic0 { public function incrByOne() { $this->counter++; } public function incrByTwo() { parent::incrByTwo(); } } Class Singleton0 { private static $instances = []; public static function getInstance() { $self = static::class; if (!isset(self::$instances[$self])) { self::$instances[$self] = new $self; } return self::$instances[$self]; } final private function __construct() { } final private function __clone() { } protected function __wakeup() { } public $counter = 0; public function incrByTwo() { $this->counter += 2; } } Class Singleton1 extends Singleton0 { public function incrByOne() { $this->counter++; } public function incrByTwo() { parent::incrByTwo(); } } function incrByOne_by_ref(&$counter) { $counter++; } function parent_incrByTwo_by_ref(&$counter) { $counter += 2; } function incrByTwo_by_ref(&$counter) { parent_incrByTwo_by_ref($counter); } function incrByOne_global() { global $counter; $counter++; } function parent_incrByTwo_global() { global $counter; $counter += 2; } function incrByTwo_global() { parent_incrByTwo_global(); } function incrByOne_globals() { $GLOBALS['counter']++; } function parent_incrByTwo_globals() { $GLOBALS['counter'] += 2; } function incrByTwo_globals() { parent_incrByTwo_globals(); } abstract class MyStorage { public static $counter = 0; } function incrByOne_static_prop() { MyStorage::$counter++; } function parent_incrByTwo_static_prop() { MyStorage::$counter += 2; } function incrByTwo_static_prop() { parent_incrByTwo_static_prop(); } // free runs so everybody is well loaded $runs=10; for($i=0;$i<$runs;$i++) { $obj = new Dynamic1(); $obj->incrByOne(); $obj->incrByTwo(); } for($i=0;$i<$runs;$i++) { Static1::incrByOne(); Static1::incrByTwo(); } unset($obj, $i); $runs=500000; $memories = [memory_get_usage()]; ?> Runs by case: <?= $runs ?> Memory usage at start: <?= number_format(end($memories)) ?> <?php $time_start = microtime(true); $obj = new Dynamic1(); for($i=0;$i<$runs;$i++) { $obj->incrByOne(); $obj->incrByTwo(); } $time_end = microtime(true); $time1 = $time_end - $time_start; $last_memory = end($memories); $memories[] = memory_get_usage(); $memory_diff = end($memories) - $last_memory; ?> + Dynamic Total execution time is <?= number_format($time1, 4) ?> Used memory: <?= number_format($memory_diff) ?> <?php $time_start = microtime(true); for($i=0;$i<$runs;$i++) { $obj = new Dynamic1(); $obj->incrByOne(); $obj->incrByTwo(); } $time_end = microtime(true); $time1 = $time_end - $time_start; $last_memory = end($memories); $memories[] = memory_get_usage(); $memory_diff = end($memories) - $last_memory; ?> + Dynamic instantiated Total execution time is <?= number_format($time1, 4) ?> Used memory: <?= number_format($memory_diff) ?> <?php $storage = []; $time_start = microtime(true); for($i=0;$i<$runs;$i++) { $obj = new Dynamic1(); $obj->incrByOne(); $obj->incrByTwo(); $storage[] = $obj; } $time_end = microtime(true); $time1 = $time_end - $time_start; $last_memory = end($memories); $memories[] = memory_get_usage(); $memory_diff = end($memories) - $last_memory; unset($storage); $memories[] = memory_get_usage(); ?> + Dynamic instantiated stored Total execution time is <?= number_format($time1, 4) ?> Used memory: <?= number_format($memory_diff) ?> <?php $storage2 = []; $obj = new Dynamic1(); $time_start = microtime(true); for($i=0;$i<$runs;$i++) { $storage2[] = $obj; } $time_end = microtime(true); $time1 = $time_end - $time_start; $last_memory = end($memories); $memories[] = memory_get_usage(); $memory_diff = end($memories) - $last_memory; unset($storage2); $memories[] = memory_get_usage(); ?> + Storage only Total execution time is <?= number_format($time1, 4) ?> Used memory: <?= number_format($memory_diff) ?> <?php $time_start = microtime(true); for($i=0;$i<$runs;$i++) { Static1::incrByOne(); Static1::incrByTwo(); } $time_end = microtime(true); $time1 = $time_end - $time_start; $last_memory = end($memories); $memories[] = memory_get_usage(); $memory_diff = end($memories) - $last_memory; ?> + Static Total execution time is <?= number_format($time1, 4) ?> Used memory: <?= number_format($memory_diff) ?> <?php $time_start = microtime(true); for($i=0;$i<$runs;$i++) { $obj = Singleton1::getInstance(); $obj->incrByOne(); $obj->incrByTwo(); } $time_end = microtime(true); $time1 = $time_end - $time_start; $last_memory = end($memories); $memories[] = memory_get_usage(); $memory_diff = end($memories) - $last_memory; ?> + Singletons with many getInstance Total execution time is <?= number_format($time1, 4) ?> Used memory: <?= number_format($memory_diff) ?> <?php $time_start = microtime(true); $obj = Singleton1::getInstance(); for($i=0;$i<$runs;$i++) { $obj->incrByOne(); $obj->incrByTwo(); } $time_end = microtime(true); $time1 = $time_end - $time_start; $last_memory = end($memories); $memories[] = memory_get_usage(); $memory_diff = end($memories) - $last_memory; ?> + Singletons with one getInstance Total execution time is <?= number_format($time1, 4) ?> Used memory: <?= number_format($memory_diff) ?> <?php $counter = 0; $time_start = microtime(true); for($i=0;$i<$runs;$i++) { incrByOne_globals(); incrByTwo_globals(); } $time_end = microtime(true); $time1 = $time_end - $time_start; $last_memory = end($memories); $memories[] = memory_get_usage(); $memory_diff = end($memories) - $last_memory; ?> + Functions with $GLOBALS Total execution time is <?= number_format($time1, 4) ?> Used memory: <?= number_format($memory_diff) ?> <?php $counter = 0; $time_start = microtime(true); for($i=0;$i<$runs;$i++) { incrByOne_global(); incrByTwo_global(); } $time_end = microtime(true); $time1 = $time_end - $time_start; $last_memory = end($memories); $memories[] = memory_get_usage(); $memory_diff = end($memories) - $last_memory; ?> + Functions with global Total execution time is <?= number_format($time1, 4) ?> Used memory: <?= number_format($memory_diff) ?> <?php $counter = 0; $time_start = microtime(true); for($i=0;$i<$runs;$i++) { incrByOne_by_ref($counter); incrByTwo_by_ref($counter); } $time_end = microtime(true); $time1 = $time_end - $time_start; $last_memory = end($memories); $memories[] = memory_get_usage(); $memory_diff = end($memories) - $last_memory; ?> + Functions with $counter passed by ref Total execution time is <?= number_format($time1, 4) ?> Used memory: <?= number_format($memory_diff) ?> <?php MyStorage::$counter = 0; $time_start = microtime(true); for($i=0;$i<$runs;$i++) { incrByOne_static_prop($counter); incrByTwo_static_prop($counter); } $time_end = microtime(true); $time1 = $time_end - $time_start; $last_memory = end($memories); $memories[] = memory_get_usage(); $memory_diff = end($memories) - $last_memory; ?> + Functions with $counter stored in a static property Total execution time is <?= number_format($time1, 4) ?> Used memory: <?= number_format($memory_diff) ?>
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 42) Position 1 = 14
Branch analysis from position: 14
2 jumps found. (Code = 44) Position 1 = 16, Position 2 = 6
Branch analysis from position: 16
1 jumps found. (Code = 42) Position 1 = 23
Branch analysis from position: 23
2 jumps found. (Code = 44) Position 1 = 25, Position 2 = 18
Branch analysis from position: 25
1 jumps found. (Code = 42) Position 1 = 57
Branch analysis from position: 57
2 jumps found. (Code = 44) Position 1 = 59, Position 2 = 52
Branch analysis from position: 59
1 jumps found. (Code = 42) Position 1 = 104
Branch analysis from position: 104
2 jumps found. (Code = 44) Position 1 = 106, Position 2 = 96
Branch analysis from position: 106
1 jumps found. (Code = 42) Position 1 = 154
Branch analysis from position: 154
2 jumps found. (Code = 44) Position 1 = 156, Position 2 = 144
Branch analysis from position: 156
1 jumps found. (Code = 42) Position 1 = 205
Branch analysis from position: 205
2 jumps found. (Code = 44) Position 1 = 207, Position 2 = 202
Branch analysis from position: 207
1 jumps found. (Code = 42) Position 1 = 254
Branch analysis from position: 254
2 jumps found. (Code = 44) Position 1 = 256, Position 2 = 249
Branch analysis from position: 256
1 jumps found. (Code = 42) Position 1 = 301
Branch analysis from position: 301
2 jumps found. (Code = 44) Position 1 = 303, Position 2 = 293
Branch analysis from position: 303
1 jumps found. (Code = 42) Position 1 = 348
Branch analysis from position: 348
2 jumps found. (Code = 44) Position 1 = 350, Position 2 = 343
Branch analysis from position: 350
1 jumps found. (Code = 42) Position 1 = 393
Branch analysis from position: 393
2 jumps found. (Code = 44) Position 1 = 395, Position 2 = 388
Branch analysis from position: 395
1 jumps found. (Code = 42) Position 1 = 438
Branch analysis from position: 438
2 jumps found. (Code = 44) Position 1 = 440, Position 2 = 433
Branch analysis from position: 440
1 jumps found. (Code = 42) Position 1 = 485
Branch analysis from position: 485
2 jumps found. (Code = 44) Position 1 = 487, Position 2 = 478
Branch analysis from position: 487
1 jumps found. (Code = 42) Position 1 = 533
Branch analysis from position: 533
2 jumps found. (Code = 44) Position 1 = 535, Position 2 = 526
Branch analysis from position: 535
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 526
2 jumps found. (Code = 44) Position 1 = 535, Position 2 = 526
Branch analysis from position: 535
Branch analysis from position: 526
Branch analysis from position: 478
2 jumps found. (Code = 44) Position 1 = 487, Position 2 = 478
Branch analysis from position: 487
Branch analysis from position: 478
Branch analysis from position: 433
2 jumps found. (Code = 44) Position 1 = 440, Position 2 = 433
Branch analysis from position: 440
Branch analysis from position: 433
Branch analysis from position: 388
2 jumps found. (Code = 44) Position 1 = 395, Position 2 = 388
Branch analysis from position: 395
Branch analysis from position: 388
Branch analysis from position: 343
2 jumps found. (Code = 44) Position 1 = 350, Position 2 = 343
Branch analysis from position: 350
Branch analysis from position: 343
Branch analysis from position: 293
2 jumps found. (Code = 44) Position 1 = 303, Position 2 = 293
Branch analysis from position: 303
Branch analysis from position: 293
Branch analysis from position: 249
2 jumps found. (Code = 44) Position 1 = 256, Position 2 = 249
Branch analysis from position: 256
Branch analysis from position: 249
Branch analysis from position: 202
2 jumps found. (Code = 44) Position 1 = 207, Position 2 = 202
Branch analysis from position: 207
Branch analysis from position: 202
Branch analysis from position: 144
2 jumps found. (Code = 44) Position 1 = 156, Position 2 = 144
Branch analysis from position: 156
Branch analysis from position: 144
Branch analysis from position: 96
2 jumps found. (Code = 44) Position 1 = 106, Position 2 = 96
Branch analysis from position: 106
Branch analysis from position: 96
Branch analysis from position: 52
2 jumps found. (Code = 44) Position 1 = 59, Position 2 = 52
Branch analysis from position: 59
Branch analysis from position: 52
Branch analysis from position: 18
2 jumps found. (Code = 44) Position 1 = 25, Position 2 = 18
Branch analysis from position: 25
Branch analysis from position: 18
Branch analysis from position: 6
2 jumps found. (Code = 44) Position 1 = 16, Position 2 = 6
Branch analysis from position: 16
Branch analysis from position: 6
filename:       /in/rDpVv
function name:  (null)
number of ops:  566
compiled vars:  !0 = $runs, !1 = $i, !2 = $obj, !3 = $memories, !4 = $time_start, !5 = $time_end, !6 = $time1, !7 = $last_memory, !8 = $memory_diff, !9 = $storage, !10 = $storage2, !11 = $counter
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
    2     0  E >   INIT_FCALL                                                   'set_time_limit'
          1        SEND_VAL                                                     0
          2        DO_ICALL                                                     
  162     3        ASSIGN                                                       !0, 10
  163     4        ASSIGN                                                       !1, 0
          5      > JMP                                                          ->14
  164     6    >   NEW                                                  $15     'Dynamic1'
          7        DO_FCALL                                          0          
          8        ASSIGN                                                       !2, $15
  165     9        INIT_METHOD_CALL                                             !2, 'incrByOne'
         10        DO_FCALL                                          0          
  166    11        INIT_METHOD_CALL                                             !2, 'incrByTwo'
         12        DO_FCALL                                          0          
  163    13        PRE_INC                                                      !1
         14    >   IS_SMALLER                                                   !1, !0
         15      > JMPNZ                                                        ~21, ->6
  168    16    >   ASSIGN                                                       !1, 0
         17      > JMP                                                          ->23
  169    18    >   INIT_STATIC_METHOD_CALL                                      'Static1', 'incrByOne'
         19        DO_FCALL                                          0          
  170    20        INIT_STATIC_METHOD_CALL                                      'Static1', 'incrByTwo'
         21        DO_FCALL                                          0          
  168    22        PRE_INC                                                      !1
         23    >   IS_SMALLER                                                   !1, !0
         24      > JMPNZ                                                        ~26, ->18
  172    25    >   UNSET_CV                                                     !2
         26        UNSET_CV                                                     !1
  174    27        ASSIGN                                                       !0, 500000
  175    28        INIT_FCALL                                                   'memory_get_usage'
         29        DO_ICALL                                             $28     
         30        INIT_ARRAY                                           ~29     $28
         31        ASSIGN                                                       !3, ~29
  177    32        ECHO                                                         'Runs+by+case%3A+'
         33        ECHO                                                         !0
         34        ECHO                                                         '+%0AMemory+usage+at+start%3A+'
  178    35        INIT_FCALL                                                   'number_format'
         36        INIT_FCALL                                                   'end'
         37        SEND_REF                                                     !3
         38        DO_ICALL                                             $31     
         39        SEND_VAR                                                     $31
         40        DO_ICALL                                             $32     
         41        ECHO                                                         $32
  179    42        ECHO                                                         '%0A'
  181    43        INIT_FCALL                                                   'microtime'
         44        SEND_VAL                                                     <true>
         45        DO_ICALL                                             $33     
         46        ASSIGN                                                       !4, $33
  182    47        NEW                                                  $35     'Dynamic1'
         48        DO_FCALL                                          0          
         49        ASSIGN                                                       !2, $35
  183    50        ASSIGN                                                       !1, 0
         51      > JMP                                                          ->57
  184    52    >   INIT_METHOD_CALL                                             !2, 'incrByOne'
         53        DO_FCALL                                          0          
  185    54        INIT_METHOD_CALL                                             !2, 'incrByTwo'
         55        DO_FCALL                                          0          
  183    56        PRE_INC                                                      !1
         57    >   IS_SMALLER                                                   !1, !0
         58      > JMPNZ                                                        ~42, ->52
  188    59    >   INIT_FCALL                                                   'microtime'
         60        SEND_VAL                                                     <true>
         61        DO_ICALL                                             $43     
         62        ASSIGN                                                       !5, $43
  189    63        SUB                                                  ~45     !5, !4
         64        ASSIGN                                                       !6, ~45
  190    65        INIT_FCALL                                                   'end'
         66        SEND_REF                                                     !3
         67        DO_ICALL                                             $47     
         68        ASSIGN                                                       !7, $47
  191    69        INIT_FCALL                                                   'memory_get_usage'
         70        DO_ICALL                                             $50     
         71        ASSIGN_DIM                                                   !3
         72        OP_DATA                                                      $50
  192    73        INIT_FCALL                                                   'end'
         74        SEND_REF                                                     !3
         75        DO_ICALL                                             $51     
         76        SUB                                                  ~52     $51, !7
         77        ASSIGN                                                       !8, ~52
  194    78        ECHO                                                         '%2B+Dynamic%0ATotal+execution+time+is+'
  195    79        INIT_FCALL                                                   'number_format'
         80        SEND_VAR                                                     !6
         81        SEND_VAL                                                     4
         82        DO_ICALL                                             $54     
         83        ECHO                                                         $54
         84        ECHO                                                         '+%0AUsed+memory%3A+'
  196    85        INIT_FCALL                                                   'number_format'
         86        SEND_VAR                                                     !8
         87        DO_ICALL                                             $55     
         88        ECHO                                                         $55
  197    89        ECHO                                                         '%0A'
  199    90        INIT_FCALL                                                   'microtime'
         91        SEND_VAL                                                     <true>
         92        DO_ICALL                                             $56     
         93        ASSIGN                                                       !4, $56
  200    94        ASSIGN                                                       !1, 0
         95      > JMP                                                          ->104
  201    96    >   NEW                                                  $59     'Dynamic1'
         97        DO_FCALL                                          0          
         98        ASSIGN                                                       !2, $59
  202    99        INIT_METHOD_CALL                                             !2, 'incrByOne'
        100        DO_FCALL                                          0          
  203   101        INIT_METHOD_CALL                                             !2, 'incrByTwo'
        102        DO_FCALL                                          0          
  200   103        PRE_INC                                                      !1
        104    >   IS_SMALLER                                                   !1, !0
        105      > JMPNZ                                                        ~65, ->96
  206   106    >   INIT_FCALL                                                   'microtime'
        107        SEND_VAL                                                     <true>
        108        DO_ICALL                                             $66     
        109        ASSIGN                                                       !5, $66
  207   110        SUB                                                  ~68     !5, !4
        111        ASSIGN                                                       !6, ~68
  208   112        INIT_FCALL                                                   'end'
        113        SEND_REF                                                     !3
        114        DO_ICALL                                             $70     
        115        ASSIGN                                                       !7, $70
  209   116        INIT_FCALL                                                   'memory_get_usage'
        117        DO_ICALL                                             $73     
        118        ASSIGN_DIM                                                   !3
        119        OP_DATA                                                      $73
  210   120        INIT_FCALL                                                   'end'
        121        SEND_REF                                                     !3
        122        DO_ICALL                                             $74     
        123        SUB                                                  ~75     $74, !7
        124        ASSIGN                                                       !8, ~75
  212   125        ECHO                                                         '%0A%2B+Dynamic+instantiated%0ATotal+execution+time+is+'
  214   126        INIT_FCALL                                                   'number_format'
        127        SEND_VAR                                                     !6
        128        SEND_VAL                                                     4
        129        DO_ICALL                                             $77     
        130        ECHO                                                         $77
        131        ECHO                                                         '+%0AUsed+memory%3A+'
  215   132        INIT_FCALL                                                   'number_format'
        133        SEND_VAR                                                     !8
        134        DO_ICALL                                             $78     
        135        ECHO                                                         $78
  216   136        ECHO                                                         '%0A'
  218   137        ASSIGN                                                       !9, <array>
  219   138        INIT_FCALL                                                   'microtime'
        139        SEND_VAL                                                     <true>
        140        DO_ICALL                                             $80     
        141        ASSIGN                                                       !4, $80
  220   142        ASSIGN                                                       !1, 0
        143      > JMP                                                          ->154
  221   144    >   NEW                                                  $83     'Dynamic1'
        145        DO_FCALL                                          0          
        146        ASSIGN                                                       !2, $83
  222   147        INIT_METHOD_CALL                                             !2, 'incrByOne'
        148        DO_FCALL                                          0          
  223   149        INIT_METHOD_CALL                                             !2, 'incrByTwo'
        150        DO_FCALL                                          0          
  224   151        ASSIGN_DIM                                                   !9
        152        OP_DATA                                                      !2
  220   153        PRE_INC                                                      !1
        154    >   IS_SMALLER                                                   !1, !0
        155      > JMPNZ                                                        ~90, ->144
  227   156    >   INIT_FCALL                                                   'microtime'
        157        SEND_VAL                                                     <true>
        158        DO_ICALL                                             $91     
        159        ASSIGN                                                       !5, $91
  228   160        SUB                                                  ~93     !5, !4
        161        ASSIGN                                                       !6, ~93
  229   162        INIT_FCALL                                                   'end'
        163        SEND_REF                                                     !3
        164        DO_ICALL                                             $95     
        165        ASSIGN                                                       !7, $95
  230   166        INIT_FCALL                                                   'memory_get_usage'
        167        DO_ICALL                                             $98     
        168        ASSIGN_DIM                                                   !3
        169        OP_DATA                                                      $98
  231   170        INIT_FCALL                                                   'end'
        171        SEND_REF                                                     !3
        172        DO_ICALL                                             $99     
        173        SUB                                                  ~100    $99, !7
        174        ASSIGN                                                       !8, ~100
  232   175        UNSET_CV                                                     !9
  233   176        INIT_FCALL                                                   'memory_get_usage'
        177        DO_ICALL                                             $103    
        178        ASSIGN_DIM                                                   !3
        179        OP_DATA                                                      $103
  235   180        ECHO                                                         '%0A%2B+Dynamic+instantiated+stored%0ATotal+execution+time+is+'
  237   181        INIT_FCALL                                                   'number_format'
        182        SEND_VAR                                                     !6
        183        SEND_VAL                                                     4
        184        DO_ICALL                                             $104    
        185        ECHO                                                         $104
        186        ECHO                                                         '+%0AUsed+memory%3A+'
  238   187        INIT_FCALL                                                   'number_format'
        188        SEND_VAR                                                     !8
        189        DO_ICALL                                             $105    
        190        ECHO                                                         $105
  239   191        ECHO                                                         '%0A'
  241   192        ASSIGN                                                       !10, <array>
  242   193        NEW                                                  $107    'Dynamic1'
        194        DO_FCALL                                          0          
        195        ASSIGN                                                       !2, $107
  243   196        INIT_FCALL                                                   'microtime'
        197        SEND_VAL                                                     <true>
        198        DO_ICALL                                             $110    
        199        ASSIGN                                                       !4, $110
  244   200        ASSIGN                                                       !1, 0
        201      > JMP                                                          ->205
  245   202    >   ASSIGN_DIM                                                   !10
        203        OP_DATA                                                      !2
  244   204        PRE_INC                                                      !1
        205    >   IS_SMALLER                                                   !1, !0
        206      > JMPNZ                                                        ~115, ->202
  248   207    >   INIT_FCALL                                                   'microtime'
        208        SEND_VAL                                                     <true>
        209        DO_ICALL                                             $116    
        210        ASSIGN                                                       !5, $116
  249   211        SUB                                                  ~118    !5, !4
        212        ASSIGN                                                       !6, ~118
  250   213        INIT_FCALL                                                   'end'
        214        SEND_REF                                                     !3
        215        DO_ICALL                                             $120    
        216        ASSIGN                                                       !7, $120
  251   217        INIT_FCALL                                                   'memory_get_usage'
        218        DO_ICALL                                             $123    
        219        ASSIGN_DIM                                                   !3
        220        OP_DATA                                                      $123
  252   221        INIT_FCALL                                                   'end'
        222        SEND_REF                                                     !3
        223        DO_ICALL                                             $124    
        224        SUB                                                  ~125    $124, !7
        225        ASSIGN                                                       !8, ~125
  253   226        UNSET_CV                                                     !10
  254   227        INIT_FCALL                                                   'memory_get_usage'
        228        DO_ICALL                                             $128    
        229        ASSIGN_DIM                                                   !3
        230        OP_DATA                                                      $128
  256   231        ECHO                                                         '%0A%2B+Storage+only%0ATotal+execution+time+is+'
  258   232        INIT_FCALL                                                   'number_format'
        233        SEND_VAR                                                     !6
        234        SEND_VAL                                                     4
        235        DO_ICALL                                             $129    
        236        ECHO                                                         $129
        237        ECHO                                                         '+%0AUsed+memory%3A+'
  259   238        INIT_FCALL                                                   'number_format'
        239        SEND_VAR                                                     !8
        240        DO_ICALL                                             $130    
        241        ECHO                                                         $130
  260   242        ECHO                                                         '%0A'
  262   243        INIT_FCALL                                                   'microtime'
        244        SEND_VAL                                                     <true>
        245        DO_ICALL                                             $131    
        246        ASSIGN                                                       !4, $131
  263   247        ASSIGN                                                       !1, 0
        248      > JMP                                                          ->254
  264   249    >   INIT_STATIC_METHOD_CALL                                      'Static1', 'incrByOne'
        250        DO_FCALL                                          0          
  265   251        INIT_STATIC_METHOD_CALL                                      'Static1', 'incrByTwo'
        252        DO_FCALL                                          0          
  263   253        PRE_INC                                                      !1
        254    >   IS_SMALLER                                                   !1, !0
        255      > JMPNZ                                                        ~137, ->249
  268   256    >   INIT_FCALL                                                   'microtime'
        257        SEND_VAL                                                     <true>
        258        DO_ICALL                                             $138    
        259        ASSIGN                                                       !5, $138
  269   260        SUB                                                  ~140    !5, !4
        261        ASSIGN                                                       !6, ~140
  270   262        INIT_FCALL                                                   'end'
        263        SEND_REF                                                     !3
        264        DO_ICALL                                             $142    
        265        ASSIGN                                                       !7, $142
  271   266        INIT_FCALL                                                   'memory_get_usage'
        267        DO_ICALL                                             $145    
        268        ASSIGN_DIM                                                   !3
        269        OP_DATA                                                      $145
  272   270        INIT_FCALL                                                   'end'
        271        SEND_REF                                                     !3
        272        DO_ICALL                                             $146    
        273        SUB                                                  ~147    $146, !7
        274        ASSIGN                                                       !8, ~147
  274   275        ECHO                                                         '%0A%2B+Static+%0ATotal+execution+time+is+'
  276   276        INIT_FCALL                                                   'number_format'
        277        SEND_VAR                                                     !6
        278        SEND_VAL                                                     4
        279        DO_ICALL                                             $149    
        280        ECHO                                                         $149
        281        ECHO                                                         '+%0AUsed+memory%3A+'
  277   282        INIT_FCALL                                                   'number_format'
        283        SEND_VAR                                                     !8
        284        DO_ICALL                                             $150    
        285        ECHO                                                         $150
  278   286        ECHO                                                         '%0A'
  280   287        INIT_FCALL                                                   'microtime'
        288        SEND_VAL                                                     <true>
        289        DO_ICALL                                             $151    
        290        ASSIGN                                                       !4, $151
  281   291        ASSIGN                                                       !1, 0
        292      > JMP                                                          ->301
  282   293    >   INIT_STATIC_METHOD_CALL                                      'Singleton1', 'getInstance'
        294        DO_FCALL                                          0  $154    
        295        ASSIGN                                                       !2, $154
  283   296        INIT_METHOD_CALL                                             !2, 'incrByOne'
        297        DO_FCALL                                          0          
  284   298        INIT_METHOD_CALL                                             !2, 'incrByTwo'
        299        DO_FCALL                                          0          
  281   300        PRE_INC                                                      !1
        301    >   IS_SMALLER                                                   !1, !0
        302      > JMPNZ                                                        ~159, ->293
  287   303    >   INIT_FCALL                                                   'microtime'
        304        SEND_VAL                                                     <true>
        305        DO_ICALL                                             $160    
        306        ASSIGN                                                       !5, $160
  288   307        SUB                                                  ~162    !5, !4
        308        ASSIGN                                                       !6, ~162
  289   309        INIT_FCALL                                                   'end'
        310        SEND_REF                                                     !3
        311        DO_ICALL                                             $164    
        312        ASSIGN                                                       !7, $164
  290   313        INIT_FCALL                                                   'memory_get_usage'
        314        DO_ICALL                                             $167    
        315        ASSIGN_DIM                                                   !3
        316        OP_DATA                                                      $167
  291   317        INIT_FCALL                                                   'end'
        318        SEND_REF                                                     !3
        319        DO_ICALL                                             $168    
        320        SUB                                                  ~169    $168, !7
        321        ASSIGN                                                       !8, ~169
  293   322        ECHO                                                         '%0A%2B+Singletons+with+many+getInstance%0ATotal+execution+time+is+'
  295   323        INIT_FCALL                                                   'number_format'
        324        SEND_VAR                                                     !6
        325        SEND_VAL                                                     4
        326        DO_ICALL                                             $171    
        327        ECHO                                                         $171
        328        ECHO                                                         '+%0AUsed+memory%3A+'
  296   329        INIT_FCALL                                                   'number_format'
        330        SEND_VAR                                                     !8
        331        DO_ICALL                                             $172    
        332        ECHO                                                         $172
  297   333        ECHO                                                         '%0A'
  299   334        INIT_FCALL                                                   'microtime'
        335        SEND_VAL                                                     <true>
        336        DO_ICALL                                             $173    
        337        ASSIGN                                                       !4, $173
  300   338        INIT_STATIC_METHOD_CALL                                      'Singleton1', 'getInstance'
        339        DO_FCALL                                          0  $175    
        340        ASSIGN                                                       !2, $175
  301   341        ASSIGN                                                       !1, 0
        342      > JMP                                                          ->348
  302   343    >   INIT_METHOD_CALL                                             !2, 'incrByOne'
        344        DO_FCALL                                          0          
  303   345        INIT_METHOD_CALL                                             !2, 'incrByTwo'
        346        DO_FCALL                                          0          
  301   347        PRE_INC                                                      !1
        348    >   IS_SMALLER                                                   !1, !0
        349      > JMPNZ                                                        ~181, ->343
  306   350    >   INIT_FCALL                                                   'microtime'
        351        SEND_VAL                                                     <true>
        352        DO_ICALL                                             $182    
        353        ASSIGN                                                       !5, $182
  307   354        SUB                                                  ~184    !5, !4
        355        ASSIGN                                                       !6, ~184
  308   356        INIT_FCALL                                                   'end'
        357        SEND_REF                                                     !3
        358        DO_ICALL                                             $186    
        359        ASSIGN                                                       !7, $186
  309   360        INIT_FCALL                                                   'memory_get_usage'
        361        DO_ICALL                                             $189    
        362        ASSIGN_DIM                                                   !3
        363        OP_DATA                                                      $189
  310   364        INIT_FCALL                                                   'end'
        365        SEND_REF                                                     !3
        366        DO_ICALL                                             $190    
        367        SUB                                                  ~191    $190, !7
        368        ASSIGN                                                       !8, ~191
  312   369        ECHO                                                         '%0A%2B+Singletons+with+one+getInstance%0ATotal+execution+time+is+'
  314   370        INIT_FCALL                                                   'number_format'
        371        SEND_VAR                                                     !6
        372        SEND_VAL                                                     4
        373        DO_ICALL                                             $193    
        374        ECHO                                                         $193
        375        ECHO                                                         '+%0AUsed+memory%3A+'
  315   376        INIT_FCALL                                                   'number_format'
        377        SEND_VAR                                                     !8
        378        DO_ICALL                                             $194    
        379        ECHO                                                         $194
  316   380        ECHO                                                         '%0A'
  318   381        ASSIGN                                                       !11, 0
  319   382        INIT_FCALL                                                   'microtime'
        383        SEND_VAL                                                     <true>
        384        DO_ICALL                                             $196    
        385        ASSIGN                                                       !4, $196
  320   386        ASSIGN                                                       !1, 0
        387      > JMP                                                          ->393
  321   388    >   INIT_FCALL                                                   'incrbyone_globals'
        389        DO_FCALL                                          0          
  322   390        INIT_FCALL                                                   'incrbytwo_globals'
        391        DO_FCALL                                          0          
  320   392        PRE_INC                                                      !1
        393    >   IS_SMALLER                                                   !1, !0
        394      > JMPNZ                                                        ~202, ->388
  325   395    >   INIT_FCALL                                                   'microtime'
        396        SEND_VAL                                                     <true>
        397        DO_ICALL                                             $203    
        398        ASSIGN                                                       !5, $203
  326   399        SUB                                                  ~205    !5, !4
        400        ASSIGN                                                       !6, ~205
  327   401        INIT_FCALL                                                   'end'
        402        SEND_REF                                                     !3
        403        DO_ICALL                                             $207    
        404        ASSIGN                                                       !7, $207
  328   405        INIT_FCALL                                                   'memory_get_usage'
        406        DO_ICALL                                             $210    
        407        ASSIGN_DIM                                                   !3
        408        OP_DATA                                                      $210
  329   409        INIT_FCALL                                                   'end'
        410        SEND_REF                                                     !3
        411        DO_ICALL                                             $211    
        412        SUB                                                  ~212    $211, !7
        413        ASSIGN                                                       !8, ~212
  331   414        ECHO                                                         '%0A%2B+Functions+with+%24GLOBALS%0ATotal+execution+time+is+'
  333   415        INIT_FCALL                                                   'number_format'
        416        SEND_VAR                                                     !6
        417        SEND_VAL                                                     4
        418        DO_ICALL                                             $214    
        419        ECHO                                                         $214
        420        ECHO                                                         '+%0AUsed+memory%3A+'
  334   421        INIT_FCALL                                                   'number_format'
        422        SEND_VAR                                                     !8
        423        DO_ICALL                                             $215    
        424        ECHO                                                         $215
  335   425        ECHO                                                         '%0A'
  337   426        ASSIGN                                                       !11, 0
  338   427        INIT_FCALL                                                   'microtime'
        428        SEND_VAL                                                     <true>
        429        DO_ICALL                                             $217    
        430        ASSIGN                                                       !4, $217
  339   431        ASSIGN                                                       !1, 0
        432      > JMP                                                          ->438
  340   433    >   INIT_FCALL                                                   'incrbyone_global'
        434        DO_FCALL                                          0          
  341   435        INIT_FCALL                                                   'incrbytwo_global'
        436        DO_FCALL                                          0          
  339   437        PRE_INC                                                      !1
        438    >   IS_SMALLER                                                   !1, !0
        439      > JMPNZ                                                        ~223, ->433
  344   440    >   INIT_FCALL                                                   'microtime'
        441        SEND_VAL                                                     <true>
        442        DO_ICALL                                             $224    
        443        ASSIGN                                                       !5, $224
  345   444        SUB                                                  ~226    !5, !4
        445        ASSIGN                                                       !6, ~226
  346   446        INIT_FCALL                                                   'end'
        447        SEND_REF                                                     !3
        448        DO_ICALL                                             $228    
        449        ASSIGN                                                       !7, $228
  347   450        INIT_FCALL                                                   'memory_get_usage'
        451        DO_ICALL                                             $231    
        452        ASSIGN_DIM                                                   !3
        453        OP_DATA                                                      $231
  348   454        INIT_FCALL                                                   'end'
        455        SEND_REF                                                     !3
        456        DO_ICALL                                             $232    
        457        SUB                                                  ~233    $232, !7
        458        ASSIGN                                                       !8, ~233
  350   459        ECHO                                                         '%0A%2B+Functions+with+global%0ATotal+execution+time+is+'
  352   460        INIT_FCALL                                                   'number_format'
        461        SEND_VAR                                                     !6
        462        SEND_VAL                                                     4
        463        DO_ICALL                                             $235    
        464        ECHO                                                         $235
        465        ECHO                                                         '+%0AUsed+memory%3A+'
  353   466        INIT_FCALL                                                   'number_format'
        467        SEND_VAR                                                     !8
        468        DO_ICALL                                             $236    
        469        ECHO                                                         $236
  354   470        ECHO                                                         '%0A'
  356   471        ASSIGN                                                       !11, 0
  357   472        INIT_FCALL                                                   'microtime'
        473        SEND_VAL                                                     <true>
        474        DO_ICALL                                             $238    
        475        ASSIGN                                                       !4, $238
  358   476        ASSIGN                                                       !1, 0
        477      > JMP                                                          ->485
  359   478    >   INIT_FCALL                                                   'incrbyone_by_ref'
        479        SEND_REF                                                     !11
        480        DO_FCALL                                          0          
  360   481        INIT_FCALL                                                   'incrbytwo_by_ref'
        482        SEND_REF                                                     !11
        483        DO_FCALL                                          0          
  358   484        PRE_INC                                                      !1
        485    >   IS_SMALLER                                                   !1, !0
        486      > JMPNZ                                                        ~244, ->478
  363   487    >   INIT_FCALL                                                   'microtime'
        488        SEND_VAL                                                     <true>
        489        DO_ICALL                                             $245    
        490        ASSIGN                                                       !5, $245
  364   491        SUB                                                  ~247    !5, !4
        492        ASSIGN                                                       !6, ~247
  365   493        INIT_FCALL                                                   'end'
        494        SEND_REF                                                     !3
        495        DO_ICALL                                             $249    
        496        ASSIGN                                                       !7, $249
  366   497        INIT_FCALL                                                   'memory_get_usage'
        498        DO_ICALL                                             $252    
        499        ASSIGN_DIM                                                   !3
        500        OP_DATA                                                      $252
  367   501        INIT_FCALL                                                   'end'
        502        SEND_REF                                                     !3
        503        DO_ICALL                                             $253    
        504        SUB                                                  ~254    $253, !7
        505        ASSIGN                                                       !8, ~254
  369   506        ECHO                                                         '+++%0A%2B+Functions+with+%24counter+passed+by+ref%0ATotal+execution+time+is+'
  371   507        INIT_FCALL                                                   'number_format'
        508        SEND_VAR                                                     !6
        509        SEND_VAL                                                     4
        510        DO_ICALL                                             $256    
        511        ECHO                                                         $256
        512        ECHO                                                         '+%0AUsed+memory%3A+'
  372   513        INIT_FCALL                                                   'number_format'
        514        SEND_VAR                                                     !8
        515        DO_ICALL                                             $257    
        516        ECHO                                                         $257
  373   517        ECHO                                                         '%0A'
  375   518        ASSIGN_STATIC_PROP                                           'counter', 'MyStorage'
        519        OP_DATA                                                      0
  376   520        INIT_FCALL                                                   'microtime'
        521        SEND_VAL                                                     <true>
        522        DO_ICALL                                             $259    
        523        ASSIGN                                                       !4, $259
  377   524        ASSIGN                                                       !1, 0
        525      > JMP                                                          ->533
  378   526    >   INIT_FCALL                                                   'incrbyone_static_prop'
        527        SEND_VAR                                                     !11
        528        DO_FCALL                                          0          
  379   529        INIT_FCALL                                                   'incrbytwo_static_prop'
        530        SEND_VAR                                                     !11
        531        DO_FCALL                                          0          
  377   532        PRE_INC                                                      !1
        533    >   IS_SMALLER                                                   !1, !0
        534      > JMPNZ                                                        ~265, ->526
  382   535    >   INIT_FCALL                                                   'microtime'
        536        SEND_VAL                                                     <true>
        537        DO_ICALL                                             $266    
        538        ASSIGN                                                       !5, $266
  383   539        SUB                                                  ~268    !5, !4
        540        ASSIGN                                                       !6, ~268
  384   541        INIT_FCALL                                                   'end'
        542        SEND_REF                                                     !3
        543        DO_ICALL                                             $270    
        544        ASSIGN                                                       !7, $270
  385   545        INIT_FCALL                                                   'memory_get_usage'
        546        DO_ICALL                                             $273    
        547        ASSIGN_DIM                                                   !3
        548        OP_DATA                                                      $273
  386   549        INIT_FCALL                                                   'end'
        550        SEND_REF                                                     !3
        551        DO_ICALL                                             $274    
        552        SUB                                                  ~275    $274, !7
        553        ASSIGN                                                       !8, ~275
  388   554        ECHO                                                         '+++++%0A%2B+Functions+with+%24counter+stored+in+a+static+property%0ATotal+execution+time+is+'
  390   555        INIT_FCALL                                                   'number_format'
        556        SEND_VAR                                                     !6
        557        SEND_VAL                                                     4
        558        DO_ICALL                                             $277    
        559        ECHO                                                         $277
        560        ECHO                                                         '+%0AUsed+memory%3A+'
  391   561        INIT_FCALL                                                   'number_format'
        562        SEND_VAR                                                     !8
        563        DO_ICALL                                             $278    
        564        ECHO                                                         $278
        565      > RETURN                                                       1

Function incrbyone_by_ref:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/rDpVv
function name:  incrByOne_by_ref
number of ops:  3
compiled vars:  !0 = $counter
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
   95     0  E >   RECV                                                 !0      
   97     1        PRE_INC                                                      !0
   98     2      > RETURN                                                       null

End of function incrbyone_by_ref

Function parent_incrbytwo_by_ref:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/rDpVv
function name:  parent_incrByTwo_by_ref
number of ops:  3
compiled vars:  !0 = $counter
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
  100     0  E >   RECV                                                 !0      
  102     1        ASSIGN_OP                                         1          !0, 2
  103     2      > RETURN                                                       null

End of function parent_incrbytwo_by_ref

Function incrbytwo_by_ref:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/rDpVv
function name:  incrByTwo_by_ref
number of ops:  5
compiled vars:  !0 = $counter
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
  105     0  E >   RECV                                                 !0      
  107     1        INIT_FCALL                                                   'parent_incrbytwo_by_ref'
          2        SEND_REF                                                     !0
          3        DO_FCALL                                          0          
  108     4      > RETURN                                                       null

End of function incrbytwo_by_ref

Function incrbyone_global:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/rDpVv
function name:  incrByOne_global
number of ops:  3
compiled vars:  !0 = $counter
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
  112     0  E >   BIND_GLOBAL                                                  !0, 'counter'
  113     1        PRE_INC                                                      !0
  114     2      > RETURN                                                       null

End of function incrbyone_global

Function parent_incrbytwo_global:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/rDpVv
function name:  parent_incrByTwo_global
number of ops:  3
compiled vars:  !0 = $counter
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
  118     0  E >   BIND_GLOBAL                                                  !0, 'counter'
  119     1        ASSIGN_OP                                         1          !0, 2
  120     2      > RETURN                                                       null

End of function parent_incrbytwo_global

Function incrbytwo_global:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/rDpVv
function name:  incrByTwo_global
number of ops:  3
compiled vars:  none
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
  124     0  E >   INIT_FCALL                                                   'parent_incrbytwo_global'
          1        DO_FCALL                                          0          
  125     2      > RETURN                                                       null

End of function incrbytwo_global

Function incrbyone_globals:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/rDpVv
function name:  incrByOne_globals
number of ops:  3
compiled vars:  none
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
  129     0  E >   FETCH_RW                         global              $0      'counter'
          1        PRE_INC                                                      $0
  130     2      > RETURN                                                       null

End of function incrbyone_globals

Function parent_incrbytwo_globals:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/rDpVv
function name:  parent_incrByTwo_globals
number of ops:  3
compiled vars:  none
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
  134     0  E >   FETCH_RW                         global              $0      'counter'
          1        ASSIGN_OP                                         1          $0, 2
  135     2      > RETURN                                                       null

End of function parent_incrbytwo_globals

Function incrbytwo_globals:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/rDpVv
function name:  incrByTwo_globals
number of ops:  3
compiled vars:  none
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
  139     0  E >   INIT_FCALL                                                   'parent_incrbytwo_globals'
          1        DO_FCALL                                          0          
  140     2      > RETURN                                                       null

End of function incrbytwo_globals

Function incrbyone_static_prop:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/rDpVv
function name:  incrByOne_static_prop
number of ops:  2
compiled vars:  none
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
  148     0  E >   PRE_INC_STATIC_PROP                                          'counter', 'MyStorage'
  149     1      > RETURN                                                       null

End of function incrbyone_static_prop

Function parent_incrbytwo_static_prop:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/rDpVv
function name:  parent_incrByTwo_static_prop
number of ops:  3
compiled vars:  none
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
  153     0  E >   ASSIGN_STATIC_PROP_OP                             1          'counter', 'MyStorage'
          1        OP_DATA                                                      2
  154     2      > RETURN                                                       null

End of function parent_incrbytwo_static_prop

Function incrbytwo_static_prop:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/rDpVv
function name:  incrByTwo_static_prop
number of ops:  3
compiled vars:  none
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
  158     0  E >   INIT_FCALL                                                   'parent_incrbytwo_static_prop'
          1        DO_FCALL                                          0          
  159     2      > RETURN                                                       null

End of function incrbytwo_static_prop

Class Static0:
Function incrbytwo:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/rDpVv
function name:  incrByTwo
number of ops:  3
compiled vars:  none
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
   10     0  E >   ASSIGN_STATIC_PROP_OP                             1          'counter'
          1        OP_DATA                                                      2
   11     2      > RETURN                                                       null

End of function incrbytwo

End of class Static0.

Class Static1:
Function incrbyone:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/rDpVv
function name:  incrByOne
number of ops:  2
compiled vars:  none
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
   18     0  E >   PRE_INC_STATIC_PROP                                          'counter'
   19     1      > RETURN                                                       null

End of function incrbyone

Function incrbytwo:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/rDpVv
function name:  incrByTwo
number of ops:  3
compiled vars:  none
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
   23     0  E >   INIT_STATIC_METHOD_CALL                                      'incrByTwo'
          1        DO_FCALL                                          0          
   24     2      > RETURN                                                       null

End of function incrbytwo

End of class Static1.

Class Dynamic0:
Function incrbytwo:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/rDpVv
function name:  incrByTwo
number of ops:  3
compiled vars:  none
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
   33     0  E >   ASSIGN_OBJ_OP                                     1          'counter'
          1        OP_DATA                                                      2
   34     2      > RETURN                                                       null

End of function incrbytwo

End of class Dynamic0.

Class Dynamic1:
Function incrbyone:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/rDpVv
function name:  incrByOne
number of ops:  2
compiled vars:  none
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
   41     0  E >   PRE_INC_OBJ                                                  'counter'
   42     1      > RETURN                                                       null

End of function incrbyone

Function incrbytwo:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/rDpVv
function name:  incrByTwo
number of ops:  3
compiled vars:  none
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
   46     0  E >   INIT_STATIC_METHOD_CALL                                      'incrByTwo'
          1        DO_FCALL                                          0          
   47     2      > RETURN                                                       null

End of function incrbytwo

End of class Dynamic1.

Class Singleton0:
Function getinstance:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 6, Position 2 = 12
Branch analysis from position: 6
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 12
filename:       /in/rDpVv
function name:  getInstance
number of ops:  16
compiled vars:  !0 = $self
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
   55     0  E >   FETCH_CLASS_NAME                                     ~1      
          1        ASSIGN                                                       !0, ~1
   56     2        FETCH_STATIC_PROP_IS                                 ~3      'instances'
          3        ISSET_ISEMPTY_DIM_OBJ                             0  ~4      ~3, !0
          4        BOOL_NOT                                             ~5      ~4
          5      > JMPZ                                                         ~5, ->12
   57     6    >   FETCH_CLASS                                       0  $8      !0
          7        NEW                                                  $9      $8
          8        DO_FCALL                                          0          
          9        FETCH_STATIC_PROP_W              unknown             $6      'instances'
         10        ASSIGN_DIM                                                   $6, !0
         11        OP_DATA                                                      $9
   59    12    >   FETCH_STATIC_PROP_R              unknown             ~11     'instances'
         13        FETCH_DIM_R                                          ~12     ~11, !0
         14      > RETURN                                                       ~12
   60    15*     > RETURN                                                       null

End of function getinstance

Function __construct:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/rDpVv
function name:  __construct
number of ops:  1
compiled vars:  none
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
   64     0  E > > RETURN                                                       null

End of function __construct

Function __clone:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/rDpVv
function name:  __clone
number of ops:  1
compiled vars:  none
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
   68     0  E > > RETURN                                                       null

End of function __clone

Function __wakeup:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/rDpVv
function name:  __wakeup
number of ops:  1
compiled vars:  none
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
   72     0  E > > RETURN                                                       null

End of function __wakeup

Function incrbytwo:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/rDpVv
function name:  incrByTwo
number of ops:  3
compiled vars:  none
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
   78     0  E >   ASSIGN_OBJ_OP                                     1          'counter'
          1        OP_DATA                                                      2
   79     2      > RETURN                                                       null

End of function incrbytwo

End of class Singleton0.

Class Singleton1:
Function incrbyone:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/rDpVv
function name:  incrByOne
number of ops:  2
compiled vars:  none
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
   86     0  E >   PRE_INC_OBJ                                                  'counter'
   87     1      > RETURN                                                       null

End of function incrbyone

Function incrbytwo:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/rDpVv
function name:  incrByTwo
number of ops:  3
compiled vars:  none
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
   91     0  E >   INIT_STATIC_METHOD_CALL                                      'incrByTwo'
          1        DO_FCALL                                          0          
   92     2      > RETURN                                                       null

End of function incrbytwo

Function getinstance:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 6, Position 2 = 12
Branch analysis from position: 6
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 12
filename:       /in/rDpVv
function name:  getInstance
number of ops:  16
compiled vars:  !0 = $self
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
   55     0  E >   FETCH_CLASS_NAME                                     ~1      
          1        ASSIGN                                                       !0, ~1
   56     2        FETCH_STATIC_PROP_IS                                 ~3      'instances'
          3        ISSET_ISEMPTY_DIM_OBJ                             0  ~4      ~3, !0
          4        BOOL_NOT                                             ~5      ~4
          5      > JMPZ                                                         ~5, ->12
   57     6    >   FETCH_CLASS                                       0  $8      !0
          7        NEW                                                  $9      $8
          8        DO_FCALL                                          0          
          9        FETCH_STATIC_PROP_W              unknown             $6      'instances'
         10        ASSIGN_DIM                                                   $6, !0
         11        OP_DATA                                                      $9
   59    12    >   FETCH_STATIC_PROP_R              unknown             ~11     'instances'
         13        FETCH_DIM_R                                          ~12     ~11, !0
         14      > RETURN                                                       ~12
   60    15*     > RETURN                                                       null

End of function getinstance

Function __construct:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/rDpVv
function name:  __construct
number of ops:  1
compiled vars:  none
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
   64     0  E > > RETURN                                                       null

End of function __construct

Function __clone:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/rDpVv
function name:  __clone
number of ops:  1
compiled vars:  none
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
   68     0  E > > RETURN                                                       null

End of function __clone

Function __wakeup:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/rDpVv
function name:  __wakeup
number of ops:  1
compiled vars:  none
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
   72     0  E > > RETURN                                                       null

End of function __wakeup

End of class Singleton1.

Class MyStorage: [no user functions]

Generated using Vulcan Logic Dumper, using php 8.5.0


preferences:
158.69 ms | 1522 KiB | 25 Q