3v4l.org

run code in 300+ PHP versions simultaneously
<?php $times = 1000 * 100; $obj = new stdClass; $time = microtime(true); for ($i = 0; $i <= $times; $i++) echo spl_object_hash($obj); $time = microtime(true) - $time; printf('spl_object_hash: %.4f', $time); $time = microtime(true); for ($i = 0; $i <= $times; $i++) echo get_class($obj); $time = microtime(true) - $time; printf('get_class: %.4f', $time);
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 = 10
Branch analysis from position: 17
1 jumps found. (Code = 42) Position 1 = 35
Branch analysis from position: 35
2 jumps found. (Code = 44) Position 1 = 37, Position 2 = 32
Branch analysis from position: 37
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 32
2 jumps found. (Code = 44) Position 1 = 37, Position 2 = 32
Branch analysis from position: 37
Branch analysis from position: 32
Branch analysis from position: 10
2 jumps found. (Code = 44) Position 1 = 17, Position 2 = 10
Branch analysis from position: 17
Branch analysis from position: 10
filename:       /in/9MLFW
function name:  (null)
number of ops:  47
compiled vars:  !0 = $times, !1 = $obj, !2 = $time, !3 = $i
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   ASSIGN                                                   !0, 100000
    5     1        NEW                                              $5      'stdClass'
          2        DO_FCALL                                      0          
          3        ASSIGN                                                   !1, $5
    7     4        INIT_FCALL                                               'microtime'
          5        SEND_VAL                                                 <true>
          6        DO_ICALL                                         $8      
          7        ASSIGN                                                   !2, $8
    9     8        ASSIGN                                                   !3, 0
          9      > JMP                                                      ->15
   10    10    >   INIT_FCALL                                               'spl_object_hash'
         11        SEND_VAR                                                 !1
         12        DO_ICALL                                         $11     
         13        ECHO                                                     $11
    9    14        PRE_INC                                                  !3
         15    >   IS_SMALLER_OR_EQUAL                                      !3, !0
         16      > JMPNZ                                                    ~13, ->10
   12    17    >   INIT_FCALL                                               'microtime'
         18        SEND_VAL                                                 <true>
         19        DO_ICALL                                         $14     
         20        SUB                                              ~15     $14, !2
         21        ASSIGN                                                   !2, ~15
   14    22        INIT_FCALL                                               'printf'
         23        SEND_VAL                                                 'spl_object_hash%3A+%25.4f'
         24        SEND_VAR                                                 !2
         25        DO_ICALL                                                 
   17    26        INIT_FCALL                                               'microtime'
         27        SEND_VAL                                                 <true>
         28        DO_ICALL                                         $18     
         29        ASSIGN                                                   !2, $18
   19    30        ASSIGN                                                   !3, 0
         31      > JMP                                                      ->35
   20    32    >   GET_CLASS                                        ~21     !1
         33        ECHO                                                     ~21
   19    34        PRE_INC                                                  !3
         35    >   IS_SMALLER_OR_EQUAL                                      !3, !0
         36      > JMPNZ                                                    ~23, ->32
   22    37    >   INIT_FCALL                                               'microtime'
         38        SEND_VAL                                                 <true>
         39        DO_ICALL                                         $24     
         40        SUB                                              ~25     $24, !2
         41        ASSIGN                                                   !2, ~25
   24    42        INIT_FCALL                                               'printf'
         43        SEND_VAL                                                 'get_class%3A+%25.4f'
         44        SEND_VAR                                                 !2
         45        DO_ICALL                                                 
         46      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
146.73 ms | 1400 KiB | 19 Q