3v4l.org

run code in 500+ PHP versions simultaneously
<?php $string1 = str_repeat('x', 100); $string2 = str_repeat('y', 100); $string3 = str_repeat('z', 100); $mark = microtime(true); for($i = 0; $i < 2000; $i++) { ob_start(); for($j = 0; $j < 2000; $j++) echo $string1, $string2, $string3; ob_get_clean(); } echo microtime(true) - $mark;
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 42) Position 1 = 34
Branch analysis from position: 34
2 jumps found. (Code = 44) Position 1 = 36, Position 2 = 21
Branch analysis from position: 36
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 21
1 jumps found. (Code = 42) Position 1 = 29
Branch analysis from position: 29
2 jumps found. (Code = 44) Position 1 = 31, Position 2 = 25
Branch analysis from position: 31
2 jumps found. (Code = 44) Position 1 = 36, Position 2 = 21
Branch analysis from position: 36
Branch analysis from position: 21
Branch analysis from position: 25
2 jumps found. (Code = 44) Position 1 = 31, Position 2 = 25
Branch analysis from position: 31
Branch analysis from position: 25
filename:       /in/48KHh
function name:  (null)
number of ops:  42
compiled vars:  !0 = $string1, !1 = $string2, !2 = $string3, !3 = $mark, !4 = $i, !5 = $j
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
    3     0  E >   INIT_FCALL                                                   'str_repeat'
          1        SEND_VAL                                                     'x'
          2        SEND_VAL                                                     100
          3        DO_ICALL                                             $6      
          4        ASSIGN                                                       !0, $6
    4     5        INIT_FCALL                                                   'str_repeat'
          6        SEND_VAL                                                     'y'
          7        SEND_VAL                                                     100
          8        DO_ICALL                                             $8      
          9        ASSIGN                                                       !1, $8
    5    10        INIT_FCALL                                                   'str_repeat'
         11        SEND_VAL                                                     'z'
         12        SEND_VAL                                                     100
         13        DO_ICALL                                             $10     
         14        ASSIGN                                                       !2, $10
    7    15        INIT_FCALL                                                   'microtime'
         16        SEND_VAL                                                     <true>
         17        DO_ICALL                                             $12     
         18        ASSIGN                                                       !3, $12
    9    19        ASSIGN                                                       !4, 0
         20      > JMP                                                          ->34
   11    21    >   INIT_FCALL                                                   'ob_start'
         22        DO_ICALL                                                     
   12    23        ASSIGN                                                       !5, 0
         24      > JMP                                                          ->29
         25    >   ECHO                                                         !0
         26        ECHO                                                         !1
         27        ECHO                                                         !2
         28        PRE_INC                                                      !5
         29    >   IS_SMALLER                                                   !5, 2000
         30      > JMPNZ                                                        ~18, ->25
   13    31    >   INIT_FCALL                                                   'ob_get_clean'
         32        DO_ICALL                                                     
    9    33        PRE_INC                                                      !4
         34    >   IS_SMALLER                                                   !4, 2000
         35      > JMPNZ                                                        ~21, ->21
   17    36    >   INIT_FCALL                                                   'microtime'
         37        SEND_VAL                                                     <true>
         38        DO_ICALL                                             $22     
         39        SUB                                                  ~23     $22, !3
         40        ECHO                                                         ~23
         41      > RETURN                                                       1

Generated using Vulcan Logic Dumper, using php 8.5.0


preferences:
157.59 ms | 1570 KiB | 17 Q