3v4l.org

run code in 300+ PHP versions simultaneously
<?php $input = '3v4l.org is an online shell that allows you to evaluate (hence 3v4l) your code on my server. I compiled more than 100 different PHP versions (every version released since 4.3.0) plus HHVM for you to use. For every script you submit, this site tells you:'; $hash = password_hash($input, ['cost' => 8]); $start = microtime(1); for($i = 0; $i < 100; $i++) { password_verify($input); } var_dump(microtime(1)-$start); $start = microtime(1); for($i = 0; $i < 100; $i++) { password_verify(''); } var_dump(microtime(1)-$start);
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 42) Position 1 = 16
Branch analysis from position: 16
2 jumps found. (Code = 44) Position 1 = 18, Position 2 = 12
Branch analysis from position: 18
1 jumps found. (Code = 42) Position 1 = 35
Branch analysis from position: 35
2 jumps found. (Code = 44) Position 1 = 37, Position 2 = 31
Branch analysis from position: 37
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 31
2 jumps found. (Code = 44) Position 1 = 37, Position 2 = 31
Branch analysis from position: 37
Branch analysis from position: 31
Branch analysis from position: 12
2 jumps found. (Code = 44) Position 1 = 18, Position 2 = 12
Branch analysis from position: 18
Branch analysis from position: 12
filename:       /in/9uQi0
function name:  (null)
number of ops:  45
compiled vars:  !0 = $input, !1 = $hash, !2 = $start, !3 = $i
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    4     0  E >   ASSIGN                                                   !0, '3v4l.org+is+an+online+shell+that+allows+you+to+evaluate+%28hence+3v4l%29+your+code+on+my+server.+I+compiled+more+than+100+different+PHP+versions+%28every+version+released+since+4.3.0%29+plus+HHVM+for+you+to+use.+For+every+script+you+submit%2C+this+site+tells+you%3A'
    5     1        INIT_FCALL                                               'password_hash'
          2        SEND_VAR                                                 !0
          3        SEND_VAL                                                 <array>
          4        DO_ICALL                                         $5      
          5        ASSIGN                                                   !1, $5
    7     6        INIT_FCALL                                               'microtime'
          7        SEND_VAL                                                 1
          8        DO_ICALL                                         $7      
          9        ASSIGN                                                   !2, $7
    8    10        ASSIGN                                                   !3, 0
         11      > JMP                                                      ->16
    9    12    >   INIT_FCALL                                               'password_verify'
         13        SEND_VAR                                                 !0
         14        DO_ICALL                                                 
    8    15        PRE_INC                                                  !3
         16    >   IS_SMALLER                                               !3, 100
         17      > JMPNZ                                                    ~12, ->12
   11    18    >   INIT_FCALL                                               'var_dump'
         19        INIT_FCALL                                               'microtime'
         20        SEND_VAL                                                 1
         21        DO_ICALL                                         $13     
         22        SUB                                              ~14     $13, !2
         23        SEND_VAL                                                 ~14
         24        DO_ICALL                                                 
   13    25        INIT_FCALL                                               'microtime'
         26        SEND_VAL                                                 1
         27        DO_ICALL                                         $16     
         28        ASSIGN                                                   !2, $16
   14    29        ASSIGN                                                   !3, 0
         30      > JMP                                                      ->35
   15    31    >   INIT_FCALL                                               'password_verify'
         32        SEND_VAL                                                 ''
         33        DO_ICALL                                                 
   14    34        PRE_INC                                                  !3
         35    >   IS_SMALLER                                               !3, 100
         36      > JMPNZ                                                    ~21, ->31
   17    37    >   INIT_FCALL                                               'var_dump'
         38        INIT_FCALL                                               'microtime'
         39        SEND_VAL                                                 1
         40        DO_ICALL                                         $22     
         41        SUB                                              ~23     $22, !2
         42        SEND_VAL                                                 ~23
         43        DO_ICALL                                                 
         44      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
147.44 ms | 1392 KiB | 21 Q