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, PASSWORD_BCRYPT, ['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 = 17
Branch analysis from position: 17
2 jumps found. (Code = 44) Position 1 = 19, Position 2 = 13
Branch analysis from position: 19
1 jumps found. (Code = 42) Position 1 = 36
Branch analysis from position: 36
2 jumps found. (Code = 44) Position 1 = 38, Position 2 = 32
Branch analysis from position: 38
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 32
2 jumps found. (Code = 44) Position 1 = 38, Position 2 = 32
Branch analysis from position: 38
Branch analysis from position: 32
Branch analysis from position: 13
2 jumps found. (Code = 44) Position 1 = 19, Position 2 = 13
Branch analysis from position: 19
Branch analysis from position: 13
filename:       /in/9MCsh
function name:  (null)
number of ops:  46
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                                                 '2y'
          4        SEND_VAL                                                 <array>
          5        DO_ICALL                                         $5      
          6        ASSIGN                                                   !1, $5
    7     7        INIT_FCALL                                               'microtime'
          8        SEND_VAL                                                 1
          9        DO_ICALL                                         $7      
         10        ASSIGN                                                   !2, $7
    8    11        ASSIGN                                                   !3, 0
         12      > JMP                                                      ->17
    9    13    >   INIT_FCALL                                               'password_verify'
         14        SEND_VAR                                                 !0
         15        DO_ICALL                                                 
    8    16        PRE_INC                                                  !3
         17    >   IS_SMALLER                                               !3, 100
         18      > JMPNZ                                                    ~12, ->13
   11    19    >   INIT_FCALL                                               'var_dump'
         20        INIT_FCALL                                               'microtime'
         21        SEND_VAL                                                 1
         22        DO_ICALL                                         $13     
         23        SUB                                              ~14     $13, !2
         24        SEND_VAL                                                 ~14
         25        DO_ICALL                                                 
   13    26        INIT_FCALL                                               'microtime'
         27        SEND_VAL                                                 1
         28        DO_ICALL                                         $16     
         29        ASSIGN                                                   !2, $16
   14    30        ASSIGN                                                   !3, 0
         31      > JMP                                                      ->36
   15    32    >   INIT_FCALL                                               'password_verify'
         33        SEND_VAL                                                 ''
         34        DO_ICALL                                                 
   14    35        PRE_INC                                                  !3
         36    >   IS_SMALLER                                               !3, 100
         37      > JMPNZ                                                    ~21, ->32
   17    38    >   INIT_FCALL                                               'var_dump'
         39        INIT_FCALL                                               'microtime'
         40        SEND_VAL                                                 1
         41        DO_ICALL                                         $22     
         42        SUB                                              ~23     $22, !2
         43        SEND_VAL                                                 ~23
         44        DO_ICALL                                                 
         45      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
142.91 ms | 1405 KiB | 21 Q