3v4l.org

run code in 300+ PHP versions simultaneously
<?php $its = 1e5; $true = true; $fals = false; $stri = 'string'; $t = hrtime(true); for ( $i = 0; $i++ < $its; ) { if ( $true ); if ( $fals ); if ( $stri ); } echo 'plain : ', $old = ( hrtime(true)-$t ) / 1e9, "s\n"; $t = hrtime(true); for ( $i = 0; $i++ < $its; ) { if ( empty( $true ) ); if ( empty( $fals ) ); if ( empty( $stri ) ); } echo 'empty : ', $old = ( hrtime(true)-$t ) / 1e9, "s\n"; $t = hrtime(true); for ( $i = 0; $i++ < $its; ) { if ( ! $true ); if ( ! $fals ); if ( ! $stri ); } echo 'not : ', $old = ( hrtime(true)-$t ) / 1e9, "s\n"; $t = hrtime(true); for ( $i = 0; $i++ < $its; ) { if ( ! empty( $true ) ); if ( ! empty( $fals ) ); if ( ! empty( $stri ) ); } echo 'notemp: ', $old = ( hrtime(true)-$t ) / 1e9, "s\n"; $t = hrtime(true); for ( $i = 0; $i++ < $its; ) { if ( isset( $true ) ); if ( isset( $fals ) ); if ( isset( $stri ) ); } echo 'isset : ', $old = ( hrtime(true)-$t ) / 1e9, "s\n"; $t = hrtime(true); for ( $i = 0; $i++ < $its; ) { if ( ! isset( $true ) ); if ( ! isset( $fals ) ); if ( ! isset( $stri ) ); } echo 'notiss: ', $old = ( hrtime(true)-$t ) / 1e9, "s\n";
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 42) Position 1 = 13
Branch analysis from position: 13
2 jumps found. (Code = 44) Position 1 = 16, Position 2 = 10
Branch analysis from position: 16
1 jumps found. (Code = 42) Position 1 = 37
Branch analysis from position: 37
2 jumps found. (Code = 44) Position 1 = 40, Position 2 = 31
Branch analysis from position: 40
1 jumps found. (Code = 42) Position 1 = 61
Branch analysis from position: 61
2 jumps found. (Code = 44) Position 1 = 64, Position 2 = 55
Branch analysis from position: 64
1 jumps found. (Code = 42) Position 1 = 88
Branch analysis from position: 88
2 jumps found. (Code = 44) Position 1 = 91, Position 2 = 79
Branch analysis from position: 91
1 jumps found. (Code = 42) Position 1 = 112
Branch analysis from position: 112
2 jumps found. (Code = 44) Position 1 = 115, Position 2 = 106
Branch analysis from position: 115
1 jumps found. (Code = 42) Position 1 = 139
Branch analysis from position: 139
2 jumps found. (Code = 44) Position 1 = 142, Position 2 = 130
Branch analysis from position: 142
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 130
2 jumps found. (Code = 43) Position 1 = 133, Position 2 = 133
Branch analysis from position: 133
2 jumps found. (Code = 43) Position 1 = 136, Position 2 = 136
Branch analysis from position: 136
2 jumps found. (Code = 43) Position 1 = 139, Position 2 = 139
Branch analysis from position: 139
Branch analysis from position: 139
Branch analysis from position: 136
Branch analysis from position: 133
Branch analysis from position: 106
2 jumps found. (Code = 43) Position 1 = 108, Position 2 = 108
Branch analysis from position: 108
2 jumps found. (Code = 43) Position 1 = 110, Position 2 = 110
Branch analysis from position: 110
2 jumps found. (Code = 43) Position 1 = 112, Position 2 = 112
Branch analysis from position: 112
Branch analysis from position: 112
Branch analysis from position: 110
Branch analysis from position: 108
Branch analysis from position: 79
2 jumps found. (Code = 43) Position 1 = 82, Position 2 = 82
Branch analysis from position: 82
2 jumps found. (Code = 43) Position 1 = 85, Position 2 = 85
Branch analysis from position: 85
2 jumps found. (Code = 43) Position 1 = 88, Position 2 = 88
Branch analysis from position: 88
Branch analysis from position: 88
Branch analysis from position: 85
Branch analysis from position: 82
Branch analysis from position: 55
2 jumps found. (Code = 43) Position 1 = 57, Position 2 = 57
Branch analysis from position: 57
2 jumps found. (Code = 43) Position 1 = 59, Position 2 = 59
Branch analysis from position: 59
2 jumps found. (Code = 43) Position 1 = 61, Position 2 = 61
Branch analysis from position: 61
Branch analysis from position: 61
Branch analysis from position: 59
Branch analysis from position: 57
Branch analysis from position: 31
2 jumps found. (Code = 43) Position 1 = 33, Position 2 = 33
Branch analysis from position: 33
2 jumps found. (Code = 43) Position 1 = 35, Position 2 = 35
Branch analysis from position: 35
2 jumps found. (Code = 43) Position 1 = 37, Position 2 = 37
Branch analysis from position: 37
Branch analysis from position: 37
Branch analysis from position: 35
Branch analysis from position: 33
Branch analysis from position: 10
2 jumps found. (Code = 43) Position 1 = 11, Position 2 = 11
Branch analysis from position: 11
2 jumps found. (Code = 43) Position 1 = 12, Position 2 = 12
Branch analysis from position: 12
2 jumps found. (Code = 43) Position 1 = 13, Position 2 = 13
Branch analysis from position: 13
Branch analysis from position: 13
Branch analysis from position: 12
Branch analysis from position: 11
filename:       /in/YvKIn
function name:  (null)
number of ops:  152
compiled vars:  !0 = $its, !1 = $true, !2 = $fals, !3 = $stri, !4 = $t, !5 = $i, !6 = $old
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   ASSIGN                                                   !0, 100000
    5     1        ASSIGN                                                   !1, <true>
    6     2        ASSIGN                                                   !2, <false>
    7     3        ASSIGN                                                   !3, 'string'
   10     4        INIT_FCALL                                               'hrtime'
          5        SEND_VAL                                                 <true>
          6        DO_ICALL                                         $11     
          7        ASSIGN                                                   !4, $11
   11     8        ASSIGN                                                   !5, 0
          9      > JMP                                                      ->13
   12    10    > > JMPZ                                                     !1, ->11
   13    11    > > JMPZ                                                     !2, ->12
   14    12    > > JMPZ                                                     !3, ->13
   11    13    >   POST_INC                                         ~14     !5
         14        IS_SMALLER                                               ~14, !0
         15      > JMPNZ                                                    ~15, ->10
   16    16    >   ECHO                                                     'plain+%3A+'
         17        INIT_FCALL                                               'hrtime'
         18        SEND_VAL                                                 <true>
         19        DO_ICALL                                         $16     
         20        SUB                                              ~17     $16, !4
         21        DIV                                              ~18     ~17, 1.0e+9
         22        ASSIGN                                           ~19     !6, ~18
         23        ECHO                                                     ~19
         24        ECHO                                                     's%0A'
   18    25        INIT_FCALL                                               'hrtime'
         26        SEND_VAL                                                 <true>
         27        DO_ICALL                                         $20     
         28        ASSIGN                                                   !4, $20
   19    29        ASSIGN                                                   !5, 0
         30      > JMP                                                      ->37
   20    31    >   ISSET_ISEMPTY_CV                                         !1
         32      > JMPZ                                                     ~23, ->33
   21    33    >   ISSET_ISEMPTY_CV                                         !2
         34      > JMPZ                                                     ~24, ->35
   22    35    >   ISSET_ISEMPTY_CV                                         !3
         36      > JMPZ                                                     ~25, ->37
   19    37    >   POST_INC                                         ~26     !5
         38        IS_SMALLER                                               ~26, !0
         39      > JMPNZ                                                    ~27, ->31
   24    40    >   ECHO                                                     'empty+%3A+'
         41        INIT_FCALL                                               'hrtime'
         42        SEND_VAL                                                 <true>
         43        DO_ICALL                                         $28     
         44        SUB                                              ~29     $28, !4
         45        DIV                                              ~30     ~29, 1.0e+9
         46        ASSIGN                                           ~31     !6, ~30
         47        ECHO                                                     ~31
         48        ECHO                                                     's%0A'
   26    49        INIT_FCALL                                               'hrtime'
         50        SEND_VAL                                                 <true>
         51        DO_ICALL                                         $32     
         52        ASSIGN                                                   !4, $32
   27    53        ASSIGN                                                   !5, 0
         54      > JMP                                                      ->61
   28    55    >   BOOL_NOT                                         ~35     !1
         56      > JMPZ                                                     ~35, ->57
   29    57    >   BOOL_NOT                                         ~36     !2
         58      > JMPZ                                                     ~36, ->59
   30    59    >   BOOL_NOT                                         ~37     !3
         60      > JMPZ                                                     ~37, ->61
   27    61    >   POST_INC                                         ~38     !5
         62        IS_SMALLER                                               ~38, !0
         63      > JMPNZ                                                    ~39, ->55
   32    64    >   ECHO                                                     'not+++%3A+'
         65        INIT_FCALL                                               'hrtime'
         66        SEND_VAL                                                 <true>
         67        DO_ICALL                                         $40     
         68        SUB                                              ~41     $40, !4
         69        DIV                                              ~42     ~41, 1.0e+9
         70        ASSIGN                                           ~43     !6, ~42
         71        ECHO                                                     ~43
         72        ECHO                                                     's%0A'
   34    73        INIT_FCALL                                               'hrtime'
         74        SEND_VAL                                                 <true>
         75        DO_ICALL                                         $44     
         76        ASSIGN                                                   !4, $44
   35    77        ASSIGN                                                   !5, 0
         78      > JMP                                                      ->88
   36    79    >   ISSET_ISEMPTY_CV                                 ~47     !1
         80        BOOL_NOT                                         ~48     ~47
         81      > JMPZ                                                     ~48, ->82
   37    82    >   ISSET_ISEMPTY_CV                                 ~49     !2
         83        BOOL_NOT                                         ~50     ~49
         84      > JMPZ                                                     ~50, ->85
   38    85    >   ISSET_ISEMPTY_CV                                 ~51     !3
         86        BOOL_NOT                                         ~52     ~51
         87      > JMPZ                                                     ~52, ->88
   35    88    >   POST_INC                                         ~53     !5
         89        IS_SMALLER                                               ~53, !0
         90      > JMPNZ                                                    ~54, ->79
   40    91    >   ECHO                                                     'notemp%3A+'
         92        INIT_FCALL                                               'hrtime'
         93        SEND_VAL                                                 <true>
         94        DO_ICALL                                         $55     
         95        SUB                                              ~56     $55, !4
         96        DIV                                              ~57     ~56, 1.0e+9
         97        ASSIGN                                           ~58     !6, ~57
         98        ECHO                                                     ~58
         99        ECHO                                                     's%0A'
   42   100        INIT_FCALL                                               'hrtime'
        101        SEND_VAL                                                 <true>
        102        DO_ICALL                                         $59     
        103        ASSIGN                                                   !4, $59
   43   104        ASSIGN                                                   !5, 0
        105      > JMP                                                      ->112
   44   106    >   ISSET_ISEMPTY_CV                                         !1
        107      > JMPZ                                                     ~62, ->108
   45   108    >   ISSET_ISEMPTY_CV                                         !2
        109      > JMPZ                                                     ~63, ->110
   46   110    >   ISSET_ISEMPTY_CV                                         !3
        111      > JMPZ                                                     ~64, ->112
   43   112    >   POST_INC                                         ~65     !5
        113        IS_SMALLER                                               ~65, !0
        114      > JMPNZ                                                    ~66, ->106
   48   115    >   ECHO                                                     'isset+%3A+'
        116        INIT_FCALL                                               'hrtime'
        117        SEND_VAL                                                 <true>
        118        DO_ICALL                                         $67     
        119        SUB                                              ~68     $67, !4
        120        DIV                                              ~69     ~68, 1.0e+9
        121        ASSIGN                                           ~70     !6, ~69
        122        ECHO                                                     ~70
        123        ECHO                                                     's%0A'
   50   124        INIT_FCALL                                               'hrtime'
        125        SEND_VAL                                                 <true>
        126        DO_ICALL                                         $71     
        127        ASSIGN                                                   !4, $71
   51   128        ASSIGN                                                   !5, 0
        129      > JMP                                                      ->139
   52   130    >   ISSET_ISEMPTY_CV                                 ~74     !1
        131        BOOL_NOT                                         ~75     ~74
        132      > JMPZ                                                     ~75, ->133
   53   133    >   ISSET_ISEMPTY_CV                                 ~76     !2
        134        BOOL_NOT                                         ~77     ~76
        135      > JMPZ                                                     ~77, ->136
   54   136    >   ISSET_ISEMPTY_CV                                 ~78     !3
        137        BOOL_NOT                                         ~79     ~78
        138      > JMPZ                                                     ~79, ->139
   51   139    >   POST_INC                                         ~80     !5
        140        IS_SMALLER                                               ~80, !0
        141      > JMPNZ                                                    ~81, ->130
   56   142    >   ECHO                                                     'notiss%3A+'
        143        INIT_FCALL                                               'hrtime'
        144        SEND_VAL                                                 <true>
        145        DO_ICALL                                         $82     
        146        SUB                                              ~83     $82, !4
        147        DIV                                              ~84     ~83, 1.0e+9
        148        ASSIGN                                           ~85     !6, ~84
        149        ECHO                                                     ~85
        150        ECHO                                                     's%0A'
        151      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
142.92 ms | 1468 KiB | 14 Q