Finding entry points Branch analysis from position: 0 2 jumps found. (Code = 43) Position 1 = 5, Position 2 = 6 Branch analysis from position: 5 1 jumps found. (Code = 42) Position 1 = 24 Branch analysis from position: 24 2 jumps found. (Code = 44) Position 1 = 26, Position 2 = 13 Branch analysis from position: 26 1 jumps found. (Code = 42) Position 1 = 51 Branch analysis from position: 51 2 jumps found. (Code = 44) Position 1 = 53, Position 2 = 38 Branch analysis from position: 53 2 jumps found. (Code = 43) Position 1 = 67, Position 2 = 69 Branch analysis from position: 67 1 jumps found. (Code = 42) Position 1 = 70 Branch analysis from position: 70 1 jumps found. (Code = 62) Position 1 = -2 Branch analysis from position: 69 1 jumps found. (Code = 62) Position 1 = -2 Branch analysis from position: 38 2 jumps found. (Code = 44) Position 1 = 53, Position 2 = 38 Branch analysis from position: 53 Branch analysis from position: 38 Branch analysis from position: 13 2 jumps found. (Code = 44) Position 1 = 26, Position 2 = 13 Branch analysis from position: 26 Branch analysis from position: 13 Branch analysis from position: 6 filename: /in/dUbZ9 function name: (null) number of ops: 71 compiled vars: !0 = $string, !1 = $start, !2 = $i, !3 = $result1, !4 = $result2, !5 = $end, !6 = $str_starts_with_time, !7 = $strpos_time line #* E I O op fetch ext return operands ------------------------------------------------------------------------------------- 3 0 E > INIT_FCALL 'function_exists' 1 SEND_VAL 'str_starts_with' 2 DO_ICALL $8 3 BOOL_NOT ~9 $8 4 > JMPZ ~9, ->6 4 5 > DECLARE_FUNCTION 'str_starts_with' 12 6 > ASSIGN !0, 'abcdefghijklmnopqrstuvwxyz' 14 7 INIT_FCALL 'hrtime' 8 SEND_VAL <true> 9 DO_ICALL $11 10 ASSIGN !1, $11 16 11 ASSIGN !2, 0 12 > JMP ->24 17 13 > INIT_FCALL 'str_starts_with' 14 SEND_VAR !0 15 SEND_VAL 'abc' 16 DO_ICALL $14 17 ASSIGN !3, $14 18 18 INIT_FCALL 'str_starts_with' 19 SEND_VAR !0 20 SEND_VAL 'abd' 21 DO_ICALL $16 22 ASSIGN !4, $16 16 23 PRE_INC !2 24 > IS_SMALLER !2, 1000000 25 > JMPNZ ~19, ->13 21 26 > INIT_FCALL 'hrtime' 27 SEND_VAL <true> 28 DO_ICALL $20 29 ASSIGN !5, $20 23 30 SUB ~22 !5, !1 31 ASSIGN !6, ~22 25 32 INIT_FCALL 'hrtime' 33 SEND_VAL <true> 34 DO_ICALL $24 35 ASSIGN !1, $24 27 36 ASSIGN !2, 0 37 > JMP ->51 28 38 > INIT_FCALL 'strpos' 39 SEND_VAR !0 40 SEND_VAL 'abc' 41 DO_ICALL $27 42 IS_IDENTICAL ~28 $27, 0 43 ASSIGN !3, ~28 29 44 INIT_FCALL 'strpos' 45 SEND_VAR !0 46 SEND_VAL 'abd' 47 DO_ICALL $30 48 IS_IDENTICAL ~31 $30, 0 49 ASSIGN !4, ~31 27 50 PRE_INC !2 51 > IS_SMALLER !2, 1000000 52 > JMPNZ ~34, ->38 32 53 > INIT_FCALL 'hrtime' 54 SEND_VAL <true> 55 DO_ICALL $35 56 ASSIGN !5, $35 34 57 SUB ~37 !5, !1 58 ASSIGN !7, ~37 36 59 CONCAT ~39 'str_starts_with%3A+', !6 60 CONCAT ~40 ~39, '%0A' 61 ECHO ~40 37 62 CONCAT ~41 'strpos%3A+', !7 63 CONCAT ~42 ~41, '%0A' 64 ECHO ~42 40 65 IS_SMALLER !6, !7 66 > JMPZ ~43, ->69 41 67 > ECHO 'str_starts_with+is+faster%0A' 40 68 > JMP ->70 43 69 > ECHO 'strpos+is+faster%0A' 44 70 > > RETURN 1 Dynamic Functions: Dynamic Function 0 Finding entry points Branch analysis from position: 0 2 jumps found. (Code = 43) Position 1 = 4, Position 2 = 5 Branch analysis from position: 4 1 jumps found. (Code = 62) Position 1 = -2 Branch analysis from position: 5 1 jumps found. (Code = 62) Position 1 = -2 filename: /in/dUbZ9 function name: str_starts_with number of ops: 12 compiled vars: !0 = $haystack, !1 = $needle line #* E I O op fetch ext return operands ------------------------------------------------------------------------------------- 4 0 E > RECV !0 1 RECV !1 5 2 IS_IDENTICAL !1, '' 3 > JMPZ ~2, ->5 6 4 > > RETURN <true> 8 5 > INIT_FCALL 'strpos' 6 SEND_VAR !0 7 SEND_VAR !1 8 DO_ICALL $3 9 IS_IDENTICAL ~4 $3, 0 10 > RETURN ~4 9 11* > RETURN null End of Dynamic Function 0
Generated using Vulcan Logic Dumper, using php 8.0.0