3v4l.org

run code in 300+ 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.0.0


preferences:
197.14 ms | 1008 KiB | 15 Q