3v4l.org

run code in 500+ PHP versions simultaneously
<?php //--------------------------------------------------------------------------- $data = <<<'EOD' abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ EOD; $tries = 1000; //--------------------------------------------------------------------------- echo("CRC32 check... "); $startTime = microtime(true); for ($idx=0; $idx<$tries; $idx++) hash('crc32', $data, true); $duration = microtime(true) - $startTime; echo("Finished in: $duration\r\n"); //--------------------------------------------------------------------------- echo("MD5 check... "); $startTime = microtime(true); for ($idx=0; $idx<$tries; $idx++) hash('md5', $data, true); $duration = microtime(true) - $startTime; echo("Finished in: $duration\r\n"); //--------------------------------------------------------------------------- echo("SHA1 check... "); $startTime = microtime(true); for ($idx=0; $idx<$tries; $idx++) hash('sha1', $data, true); $duration = microtime(true) - $startTime; echo("Finished in: $duration\r\n"); //--------------------------------------------------------------------------- echo("SHA256 check... "); $startTime = microtime(true); for ($idx=0; $idx<$tries; $idx++) hash('sha256', $data, true); $duration = microtime(true) - $startTime; echo("Finished in: $duration\r\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 = 9
Branch analysis from position: 17
1 jumps found. (Code = 42) Position 1 = 39
Branch analysis from position: 39
2 jumps found. (Code = 44) Position 1 = 41, Position 2 = 33
Branch analysis from position: 41
1 jumps found. (Code = 42) Position 1 = 63
Branch analysis from position: 63
2 jumps found. (Code = 44) Position 1 = 65, Position 2 = 57
Branch analysis from position: 65
1 jumps found. (Code = 42) Position 1 = 87
Branch analysis from position: 87
2 jumps found. (Code = 44) Position 1 = 89, Position 2 = 81
Branch analysis from position: 89
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 81
2 jumps found. (Code = 44) Position 1 = 89, Position 2 = 81
Branch analysis from position: 89
Branch analysis from position: 81
Branch analysis from position: 57
2 jumps found. (Code = 44) Position 1 = 65, Position 2 = 57
Branch analysis from position: 65
Branch analysis from position: 57
Branch analysis from position: 33
2 jumps found. (Code = 44) Position 1 = 41, Position 2 = 33
Branch analysis from position: 41
Branch analysis from position: 33
Branch analysis from position: 9
2 jumps found. (Code = 44) Position 1 = 17, Position 2 = 9
Branch analysis from position: 17
Branch analysis from position: 9
filename:       /in/2MAUr
function name:  (null)
number of ops:  99
compiled vars:  !0 = $data, !1 = $tries, !2 = $startTime, !3 = $idx, !4 = $duration
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
    3     0  E >   ASSIGN                                                       !0, 'abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ+abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ%0Aabcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ+abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ%0Aabcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ+abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ%0Aabcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ+abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ%0Aabcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ+abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ%0Aabcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ+abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ%0Aabcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ+abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'
   13     1        ASSIGN                                                       !1, 1000
   16     2        ECHO                                                         'CRC32+check...++++++++++'
   17     3        INIT_FCALL                                                   'microtime'
          4        SEND_VAL                                                     <true>
          5        DO_ICALL                                             $7      
          6        ASSIGN                                                       !2, $7
   18     7        ASSIGN                                                       !3, 0
          8      > JMP                                                          ->15
   19     9    >   INIT_FCALL                                                   'hash'
         10        SEND_VAL                                                     'crc32'
         11        SEND_VAR                                                     !0
         12        SEND_VAL                                                     <true>
         13        DO_ICALL                                                     
   18    14        PRE_INC                                                      !3
         15    >   IS_SMALLER                                                   !3, !1
         16      > JMPNZ                                                        ~12, ->9
   20    17    >   INIT_FCALL                                                   'microtime'
         18        SEND_VAL                                                     <true>
         19        DO_ICALL                                             $13     
         20        SUB                                                  ~14     $13, !2
         21        ASSIGN                                                       !4, ~14
   21    22        ROPE_INIT                                         3  ~17     'Finished+in%3A+'
         23        ROPE_ADD                                          1  ~17     ~17, !4
         24        ROPE_END                                          2  ~16     ~17, '%0D%0A'
         25        ECHO                                                         ~16
   24    26        ECHO                                                         'MD5+check...++++++++++++'
   25    27        INIT_FCALL                                                   'microtime'
         28        SEND_VAL                                                     <true>
         29        DO_ICALL                                             $19     
         30        ASSIGN                                                       !2, $19
   26    31        ASSIGN                                                       !3, 0
         32      > JMP                                                          ->39
   27    33    >   INIT_FCALL                                                   'hash'
         34        SEND_VAL                                                     'md5'
         35        SEND_VAR                                                     !0
         36        SEND_VAL                                                     <true>
         37        DO_ICALL                                                     
   26    38        PRE_INC                                                      !3
         39    >   IS_SMALLER                                                   !3, !1
         40      > JMPNZ                                                        ~24, ->33
   28    41    >   INIT_FCALL                                                   'microtime'
         42        SEND_VAL                                                     <true>
         43        DO_ICALL                                             $25     
         44        SUB                                                  ~26     $25, !2
         45        ASSIGN                                                       !4, ~26
   29    46        ROPE_INIT                                         3  ~29     'Finished+in%3A+'
         47        ROPE_ADD                                          1  ~29     ~29, !4
         48        ROPE_END                                          2  ~28     ~29, '%0D%0A'
         49        ECHO                                                         ~28
   32    50        ECHO                                                         'SHA1+check...+++++++++++'
   33    51        INIT_FCALL                                                   'microtime'
         52        SEND_VAL                                                     <true>
         53        DO_ICALL                                             $31     
         54        ASSIGN                                                       !2, $31
   34    55        ASSIGN                                                       !3, 0
         56      > JMP                                                          ->63
   35    57    >   INIT_FCALL                                                   'hash'
         58        SEND_VAL                                                     'sha1'
         59        SEND_VAR                                                     !0
         60        SEND_VAL                                                     <true>
         61        DO_ICALL                                                     
   34    62        PRE_INC                                                      !3
         63    >   IS_SMALLER                                                   !3, !1
         64      > JMPNZ                                                        ~36, ->57
   36    65    >   INIT_FCALL                                                   'microtime'
         66        SEND_VAL                                                     <true>
         67        DO_ICALL                                             $37     
         68        SUB                                                  ~38     $37, !2
         69        ASSIGN                                                       !4, ~38
   37    70        ROPE_INIT                                         3  ~41     'Finished+in%3A+'
         71        ROPE_ADD                                          1  ~41     ~41, !4
         72        ROPE_END                                          2  ~40     ~41, '%0D%0A'
         73        ECHO                                                         ~40
   40    74        ECHO                                                         'SHA256+check...+++++++++'
   41    75        INIT_FCALL                                                   'microtime'
         76        SEND_VAL                                                     <true>
         77        DO_ICALL                                             $43     
         78        ASSIGN                                                       !2, $43
   42    79        ASSIGN                                                       !3, 0
         80      > JMP                                                          ->87
   43    81    >   INIT_FCALL                                                   'hash'
         82        SEND_VAL                                                     'sha256'
         83        SEND_VAR                                                     !0
         84        SEND_VAL                                                     <true>
         85        DO_ICALL                                                     
   42    86        PRE_INC                                                      !3
         87    >   IS_SMALLER                                                   !3, !1
         88      > JMPNZ                                                        ~48, ->81
   44    89    >   INIT_FCALL                                                   'microtime'
         90        SEND_VAL                                                     <true>
         91        DO_ICALL                                             $49     
         92        SUB                                                  ~50     $49, !2
         93        ASSIGN                                                       !4, ~50
   45    94        ROPE_INIT                                         3  ~53     'Finished+in%3A+'
         95        ROPE_ADD                                          1  ~53     ~53, !4
         96        ROPE_END                                          2  ~52     ~53, '%0D%0A'
         97        ECHO                                                         ~52
   48    98      > RETURN                                                       1

Generated using Vulcan Logic Dumper, using php 8.5.0


preferences:
203.92 ms | 2763 KiB | 15 Q