3v4l.org

run code in 300+ PHP versions simultaneously
<?php echo 'modify: '; $time = microtime(1); for ($x = 0; $x < 10000; $x++) { $datetime = new DateTime('2013-01-29'); $datetime->modify('+1 day'); } $end = microtime(1); $time = $end - $time; echo $time . "\n"; echo 'interval: '; $time = microtime(1); for ($x = 0; $x < 10000; $x++) { $datetime = new DateTime('2013-01-29'); $datetime->add(new DateInterval('P1D')); } $end = microtime(1); $time = $end - $time; echo $time . "\n";
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 42) Position 1 = 15
Branch analysis from position: 15
2 jumps found. (Code = 44) Position 1 = 17, Position 2 = 7
Branch analysis from position: 17
1 jumps found. (Code = 42) Position 1 = 43
Branch analysis from position: 43
2 jumps found. (Code = 44) Position 1 = 45, Position 2 = 32
Branch analysis from position: 45
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 32
2 jumps found. (Code = 44) Position 1 = 45, Position 2 = 32
Branch analysis from position: 45
Branch analysis from position: 32
Branch analysis from position: 7
2 jumps found. (Code = 44) Position 1 = 17, Position 2 = 7
Branch analysis from position: 17
Branch analysis from position: 7
filename:       /in/pCecn
function name:  (null)
number of ops:  54
compiled vars:  !0 = $time, !1 = $x, !2 = $datetime, !3 = $end
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   ECHO                                                     'modify%3A+'
    4     1        INIT_FCALL                                               'microtime'
          2        SEND_VAL                                                 1
          3        DO_ICALL                                         $4      
          4        ASSIGN                                                   !0, $4
    5     5        ASSIGN                                                   !1, 0
          6      > JMP                                                      ->15
    6     7    >   NEW                                              $7      'DateTime'
          8        SEND_VAL_EX                                              '2013-01-29'
          9        DO_FCALL                                      0          
         10        ASSIGN                                                   !2, $7
    7    11        INIT_METHOD_CALL                                         !2, 'modify'
         12        SEND_VAL_EX                                              '%2B1+day'
         13        DO_FCALL                                      0          
    5    14        PRE_INC                                                  !1
         15    >   IS_SMALLER                                               !1, 10000
         16      > JMPNZ                                                    ~12, ->7
    9    17    >   INIT_FCALL                                               'microtime'
         18        SEND_VAL                                                 1
         19        DO_ICALL                                         $13     
         20        ASSIGN                                                   !3, $13
   10    21        SUB                                              ~15     !3, !0
         22        ASSIGN                                                   !0, ~15
   11    23        CONCAT                                           ~17     !0, '%0A'
         24        ECHO                                                     ~17
   13    25        ECHO                                                     'interval%3A+'
   14    26        INIT_FCALL                                               'microtime'
         27        SEND_VAL                                                 1
         28        DO_ICALL                                         $18     
         29        ASSIGN                                                   !0, $18
   15    30        ASSIGN                                                   !1, 0
         31      > JMP                                                      ->43
   16    32    >   NEW                                              $21     'DateTime'
         33        SEND_VAL_EX                                              '2013-01-29'
         34        DO_FCALL                                      0          
         35        ASSIGN                                                   !2, $21
   17    36        INIT_METHOD_CALL                                         !2, 'add'
         37        NEW                                              $24     'DateInterval'
         38        SEND_VAL_EX                                              'P1D'
         39        DO_FCALL                                      0          
         40        SEND_VAR_NO_REF_EX                                       $24
         41        DO_FCALL                                      0          
   15    42        PRE_INC                                                  !1
         43    >   IS_SMALLER                                               !1, 10000
         44      > JMPNZ                                                    ~28, ->32
   19    45    >   INIT_FCALL                                               'microtime'
         46        SEND_VAL                                                 1
         47        DO_ICALL                                         $29     
         48        ASSIGN                                                   !3, $29
   20    49        SUB                                              ~31     !3, !0
         50        ASSIGN                                                   !0, ~31
   21    51        CONCAT                                           ~33     !0, '%0A'
         52        ECHO                                                     ~33
         53      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
142.54 ms | 1404 KiB | 15 Q