Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/4Cec9
function name: (null)
number of ops: 34
compiled vars: !0 = $benchmark, !1 = $text
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
420 0 E > NEW $2 'Lavoiesl%5CPhpBenchmark%5CBenchmark'
1 DO_FCALL 0
2 ASSIGN !0, $2
451 3 ASSIGN !1, '%E3%81%82%E3%81%84%E3%81%86%E3%81%88+%E3%81%8A%E3%81%8B+%E3%81%8D+%E3%81%8F%E3%81%91%E3%81%93%E3%81%95%E3%81%97%E3%81%99%3A+%E3%81%9B%E3%81%9D%E3%81%9F%E3%81%A1+%E3%81%A4%E3%81%A6%E3%81%A8%E3%81%AA%2C+%E3%81%AB%E3%81%AC%E3%81%AD+%E3%81%AE%E3%81%AF%E3%81%B2%E3%81%B5+%E3%81%B8%E3%81%BB%E3%81%BE%E3%81%BF+%E3%82%80%E3%82%81+%E3%82%82%E3%82%84%E3%82%86%E3%82%88%E3%82%89%E3%82%8A%E3%82%8B%E3%82%8C.+%E3%82%8D%E3%82%8F%E3%81%8A%E3%82%93+%E3%81%82%E3%81%84%E3%81%86%E3%81%88+%7C+this+one+too+%3A%29'
453 4 INIT_METHOD_CALL !0, 'add'
5 SEND_VAL_EX 'multiexplode'
6 DECLARE_LAMBDA_FUNCTION ~6 [0]
7 BIND_LEXICAL ~6, !1
8 SEND_VAL_EX ~6
9 DO_FCALL 0
454 10 INIT_METHOD_CALL !0, 'add'
11 SEND_VAL_EX 'homemadeExplode'
12 DECLARE_LAMBDA_FUNCTION ~8 [1]
13 BIND_LEXICAL ~8, !1
14 SEND_VAL_EX ~8
15 DO_FCALL 0
455 16 INIT_METHOD_CALL !0, 'add'
17 SEND_VAL_EX 'preg_split'
18 DECLARE_LAMBDA_FUNCTION ~10 [2]
19 BIND_LEXICAL ~10, !1
20 SEND_VAL_EX ~10
21 DO_FCALL 0
456 22 INIT_METHOD_CALL !0, 'add'
23 SEND_VAL_EX 'mb_split'
24 DECLARE_LAMBDA_FUNCTION ~12 [3]
25 BIND_LEXICAL ~12, !1
26 SEND_VAL_EX ~12
27 DO_FCALL 0
458 28 INIT_METHOD_CALL !0, 'setCount'
29 SEND_VAL_EX 50000
30 DO_FCALL 0
459 31 INIT_METHOD_CALL !0, 'run'
32 DO_FCALL 0
33 > RETURN 1
Dynamic Functions:
Dynamic Function 0
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/4Cec9
function name: Lavoiesl\PhpBenchmark\{closure}
number of ops: 7
compiled vars: !0 = $text
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
453 0 E > BIND_STATIC !0
1 INIT_NS_FCALL_BY_NAME 'Lavoiesl%5CPhpBenchmark%5Cmultiexplode'
2 SEND_VAL_EX <array>
3 SEND_VAR_EX !0
4 DO_FCALL 0 $1
5 > RETURN $1
6* > RETURN null
End of Dynamic Function 0
Dynamic Function 1
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/4Cec9
function name: Lavoiesl\PhpBenchmark\{closure}
number of ops: 7
compiled vars: !0 = $text
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
454 0 E > BIND_STATIC !0
1 INIT_NS_FCALL_BY_NAME 'Lavoiesl%5CPhpBenchmark%5Chomemadeexplode'
2 SEND_VAL_EX <array>
3 SEND_VAR_EX !0
4 DO_FCALL 0 $1
5 > RETURN $1
6* > RETURN null
End of Dynamic Function 1
Dynamic Function 2
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/4Cec9
function name: Lavoiesl\PhpBenchmark\{closure}
number of ops: 7
compiled vars: !0 = $text
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
455 0 E > BIND_STATIC !0
1 INIT_NS_FCALL_BY_NAME 'Lavoiesl%5CPhpBenchmark%5Cpreg_split'
2 SEND_VAL_EX '%2F%5B%2C.%7C%3A%5D%2F'
3 SEND_VAR_EX !0
4 DO_FCALL 0 $1
5 > RETURN $1
6* > RETURN null
End of Dynamic Function 2
Dynamic Function 3
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/4Cec9
function name: Lavoiesl\PhpBenchmark\{closure}
number of ops: 7
compiled vars: !0 = $text
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
456 0 E > BIND_STATIC !0
1 INIT_NS_FCALL_BY_NAME 'Lavoiesl%5CPhpBenchmark%5Cmb_split'
2 SEND_VAL_EX '%5B%2C.%7C%3A%5D'
3 SEND_VAR_EX !0
4 DO_FCALL 0 $1
5 > RETURN $1
6* > RETURN null
End of Dynamic Function 3
Function lavoiesl%5Cphpbenchmark%5Cmultiexplode:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/4Cec9
function name: Lavoiesl\PhpBenchmark\multiexplode
number of ops: 19
compiled vars: !0 = $delimiters, !1 = $string, !2 = $ready, !3 = $launch
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
422 0 E > RECV !0
1 RECV !1
424 2 INIT_NS_FCALL_BY_NAME 'Lavoiesl%5CPhpBenchmark%5Cstr_replace'
3 SEND_VAR_EX !0
4 CHECK_FUNC_ARG
5 FETCH_DIM_FUNC_ARG $4 !0, 0
6 SEND_FUNC_ARG $4
7 SEND_VAR_EX !1
8 DO_FCALL 0 $5
9 ASSIGN !2, $5
425 10 INIT_NS_FCALL_BY_NAME 'Lavoiesl%5CPhpBenchmark%5Cexplode'
11 CHECK_FUNC_ARG
12 FETCH_DIM_FUNC_ARG $7 !0, 0
13 SEND_FUNC_ARG $7
14 SEND_VAR_EX !2
15 DO_FCALL 0 $8
16 ASSIGN !3, $8
426 17 > RETURN !3
427 18* > RETURN null
End of function lavoiesl%5Cphpbenchmark%5Cmultiexplode
Function lavoiesl%5Cphpbenchmark%5Chomemadeexplode:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 8, Position 2 = 19
Branch analysis from position: 8
2 jumps found. (Code = 77) Position 1 = 9, Position 2 = 16
Branch analysis from position: 9
2 jumps found. (Code = 78) Position 1 = 10, Position 2 = 16
Branch analysis from position: 10
1 jumps found. (Code = 42) Position 1 = 9
Branch analysis from position: 9
Branch analysis from position: 16
1 jumps found. (Code = 42) Position 1 = 44
Branch analysis from position: 44
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 16
Branch analysis from position: 19
2 jumps found. (Code = 43) Position 1 = 24, Position 2 = 39
Branch analysis from position: 24
2 jumps found. (Code = 77) Position 1 = 25, Position 2 = 37
Branch analysis from position: 25
2 jumps found. (Code = 78) Position 1 = 26, Position 2 = 37
Branch analysis from position: 26
1 jumps found. (Code = 42) Position 1 = 25
Branch analysis from position: 25
Branch analysis from position: 37
1 jumps found. (Code = 42) Position 1 = 44
Branch analysis from position: 44
Branch analysis from position: 37
Branch analysis from position: 39
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/4Cec9
function name: Lavoiesl\PhpBenchmark\homemadeexplode
number of ops: 46
compiled vars: !0 = $splitter, !1 = $str, !2 = $return, !3 = $sp, !4 = $st, !5 = $tmp
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
429 0 E > RECV !0
1 RECV !1
431 2 ASSIGN !2, <array>
432 3 INIT_NS_FCALL_BY_NAME 'Lavoiesl%5CPhpBenchmark%5Cis_array'
4 SEND_VAR_EX !0
5 DO_FCALL 0 $7
6 BOOL ~8 $7
7 > JMPZ ~8, ->19
433 8 > > FE_RESET_R $9 !0, ->16
9 > > FE_FETCH_R $9, !3, ->16
434 10 > INIT_NS_FCALL_BY_NAME 'Lavoiesl%5CPhpBenchmark%5Chomemadeexplode'
11 SEND_VAR_EX !3
12 SEND_VAR_EX !1
13 DO_FCALL 0 $10
14 ASSIGN !1, $10
433 15 > JMP ->9
16 > FE_FREE $9
436 17 ASSIGN !2, !1
432 18 > JMP ->44
438 19 > INIT_NS_FCALL_BY_NAME 'Lavoiesl%5CPhpBenchmark%5Cis_array'
20 SEND_VAR_EX !1
21 DO_FCALL 0 $13
22 BOOL ~14 $13
23 > JMPZ ~14, ->39
439 24 > > FE_RESET_R $15 !1, ->37
25 > > FE_FETCH_R $15, !4, ->37
440 26 > INIT_NS_FCALL_BY_NAME 'Lavoiesl%5CPhpBenchmark%5Cexplode'
27 SEND_VAR_EX !0
28 SEND_VAR_EX !4
29 DO_FCALL 0 $16
30 ASSIGN !5, $16
441 31 INIT_NS_FCALL_BY_NAME 'Lavoiesl%5CPhpBenchmark%5Carray_merge'
32 SEND_VAR_EX !2
33 SEND_VAR_EX !5
34 DO_FCALL 0 $18
35 ASSIGN !2, $18
439 36 > JMP ->25
37 > FE_FREE $15
438 38 > JMP ->44
444 39 > INIT_NS_FCALL_BY_NAME 'Lavoiesl%5CPhpBenchmark%5Cexplode'
40 SEND_VAR_EX !0
41 SEND_VAR_EX !1
42 DO_FCALL 0 $20
43 ASSIGN !2, $20
447 44 > > RETURN !2
448 45* > RETURN null
End of function lavoiesl%5Cphpbenchmark%5Chomemadeexplode
Class Lavoiesl\PhpBenchmark\Profiler:
Function start:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/4Cec9
function name: start
number of ops: 19
compiled vars: none
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
17 0 E > INIT_NS_FCALL_BY_NAME 'Lavoiesl%5CPhpBenchmark%5Cmemory_get_usage'
1 SEND_VAL_EX <true>
2 DO_FCALL 0 $2
3 ASSIGN_OBJ ~1 'max_memory'
4 OP_DATA $2
5 ASSIGN_OBJ 'start_memory'
6 OP_DATA ~1
18 7 INIT_NS_FCALL_BY_NAME 'Lavoiesl%5CPhpBenchmark%5Cmicrotime'
8 SEND_VAL_EX <true>
9 DO_FCALL 0 $4
10 ASSIGN_OBJ 'start_time'
11 OP_DATA $4
20 12 INIT_NS_FCALL_BY_NAME 'Lavoiesl%5CPhpBenchmark%5Cregister_tick_function'
13 FETCH_THIS ~5
14 INIT_ARRAY ~6 ~5
15 ADD_ARRAY_ELEMENT ~6 'tick'
16 SEND_VAL_EX ~6
17 DO_FCALL 0
21 18 > RETURN null
End of function start
Function tick:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/4Cec9
function name: tick
number of ops: 12
compiled vars: none
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
25 0 E > INIT_NS_FCALL_BY_NAME 'Lavoiesl%5CPhpBenchmark%5Cmax'
1 CHECK_FUNC_ARG
2 FETCH_OBJ_FUNC_ARG $1 'max_memory'
3 SEND_FUNC_ARG $1
4 INIT_NS_FCALL_BY_NAME 'Lavoiesl%5CPhpBenchmark%5Cmemory_get_usage'
5 SEND_VAL_EX <true>
6 DO_FCALL 0 $2
7 SEND_VAR_NO_REF_EX $2
8 DO_FCALL 0 $3
9 ASSIGN_OBJ 'max_memory'
10 OP_DATA $3
26 11 > RETURN null
End of function tick
Function stop:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/4Cec9
function name: stop
number of ops: 14
compiled vars: none
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
30 0 E > INIT_METHOD_CALL 'tick'
1 DO_FCALL 0
31 2 INIT_NS_FCALL_BY_NAME 'Lavoiesl%5CPhpBenchmark%5Cmicrotime'
3 SEND_VAL_EX <true>
4 DO_FCALL 0 $2
5 ASSIGN_OBJ 'end_time'
6 OP_DATA $2
33 7 INIT_NS_FCALL_BY_NAME 'Lavoiesl%5CPhpBenchmark%5Cunregister_tick_function'
8 FETCH_THIS ~3
9 INIT_ARRAY ~4 ~3
10 ADD_ARRAY_ELEMENT ~4 'tick'
11 SEND_VAL_EX ~4
12 DO_FCALL 0
34 13 > RETURN null
End of function stop
Function getmemoryusage:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/4Cec9
function name: getMemoryUsage
number of ops: 5
compiled vars: none
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
38 0 E > FETCH_OBJ_R ~0 'max_memory'
1 FETCH_OBJ_R ~1 'start_memory'
2 SUB ~2 ~0, ~1
3 > RETURN ~2
39 4* > RETURN null
End of function getmemoryusage
Function gettime:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/4Cec9
function name: getTime
number of ops: 5
compiled vars: none
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
43 0 E > FETCH_OBJ_R ~0 'end_time'
1 FETCH_OBJ_R ~1 'start_time'
2 SUB ~2 ~0, ~1
3 > RETURN ~2
44 4* > RETURN null
End of function gettime
End of class Lavoiesl\PhpBenchmark\Profiler.
Class Lavoiesl\PhpBenchmark\AbstractTest:
Function __construct:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/4Cec9
function name: __construct
number of ops: 8
compiled vars: !0 = $name
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
57 0 E > RECV !0
59 1 ASSIGN_OBJ 'name'
2 OP_DATA !0
60 3 NEW $3 'Lavoiesl%5CPhpBenchmark%5CProfiler'
4 DO_FCALL 0
5 ASSIGN_OBJ 'profiler'
6 OP_DATA $3
61 7 > RETURN null
End of function __construct
Function getname:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/4Cec9
function name: getName
number of ops: 3
compiled vars: none
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
65 0 E > FETCH_OBJ_R ~0 'name'
1 > RETURN ~0
66 2* > RETURN null
End of function getname
Function run:
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 = 62) Position 1 = -2
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/4Cec9
function name: run
number of ops: 34
compiled vars: !0 = $n, !1 = $i, !2 = $result, !3 = $results
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
68 0 E > RECV_INIT !0 1
70 1 INIT_METHOD_CALL 'prepare'
2 DO_FCALL 0
72 3 INIT_NS_FCALL_BY_NAME 'Lavoiesl%5CPhpBenchmark%5Cgc_collect_cycles'
4 DO_FCALL 0
74 5 FETCH_OBJ_R ~6 'profiler'
6 INIT_METHOD_CALL ~6, 'start'
7 DO_FCALL 0
76 8 ASSIGN !1, 0
9 > JMP ->15
78 10 > INIT_METHOD_CALL 'execute'
11 DO_FCALL 0 $9
12 ASSIGN !2, $9
79 13 UNSET_CV !2
76 14 PRE_INC !1
15 > IS_SMALLER !1, !0
16 > JMPNZ ~12, ->10
82 17 > FETCH_OBJ_R ~13 'profiler'
18 INIT_METHOD_CALL ~13, 'stop'
19 DO_FCALL 0
85 20 FETCH_OBJ_R ~15 'profiler'
21 INIT_METHOD_CALL ~15, 'getTime'
22 DO_FCALL 0 $16
23 INIT_ARRAY ~17 $16, 'time'
86 24 FETCH_OBJ_R ~18 'profiler'
25 INIT_METHOD_CALL ~18, 'getMemoryUsage'
26 DO_FCALL 0 $19
27 ADD_ARRAY_ELEMENT ~17 $19, 'memory'
87 28 ADD_ARRAY_ELEMENT ~17 !0, 'n'
84 29 ASSIGN !3, ~17
90 30 INIT_METHOD_CALL 'cleanup'
31 DO_FCALL 0
92 32 > RETURN !3
93 33* > RETURN null
End of function run
Function prepare:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/4Cec9
function name: prepare
number of ops: 1
compiled vars: none
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
97 0 E > > RETURN null
End of function prepare
Function execute:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/4Cec9
function name: execute
number of ops: 1
compiled vars: none
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
99 0 E > > RETURN null
End of function execute
Function cleanup:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/4Cec9
function name: cleanup
number of ops: 1
compiled vars: none
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
103 0 E > > RETURN null
End of function cleanup
Function guesscount:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 9, Position 2 = 11
Branch analysis from position: 9
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 11
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/4Cec9
function name: guessCount
number of ops: 18
compiled vars: !0 = $max_seconds, !1 = $once
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
105 0 E > RECV_INIT !0 1
107 1 INIT_METHOD_CALL 'run'
2 DO_FCALL 0
108 3 INIT_METHOD_CALL 'run'
4 DO_FCALL 0 $3
5 ASSIGN !1, $3
110 6 FETCH_DIM_R ~5 !1, 'time'
7 IS_SMALLER_OR_EQUAL !0, ~5
8 > JMPZ ~6, ->11
111 9 > > RETURN 1
110 10* JMP ->17
113 11 > INIT_NS_FCALL_BY_NAME 'Lavoiesl%5CPhpBenchmark%5Cround'
12 FETCH_DIM_R ~7 !1, 'time'
13 DIV ~8 !0, ~7
14 SEND_VAL_EX ~8
15 DO_FCALL 0 $9
16 > RETURN $9
115 17* > RETURN null
End of function guesscount
End of class Lavoiesl\PhpBenchmark\AbstractTest.
Class Lavoiesl\PhpBenchmark\SimpleTest:
Function __construct:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/4Cec9
function name: __construct
number of ops: 8
compiled vars: !0 = $name, !1 = $execute
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
136 0 E > RECV !0
1 RECV !1
138 2 INIT_STATIC_METHOD_CALL
3 SEND_VAR_EX !0
4 DO_FCALL 0
140 5 ASSIGN_OBJ 'execute'
6 OP_DATA !1
141 7 > RETURN null
End of function __construct
Function setprepare:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/4Cec9
function name: setPrepare
number of ops: 6
compiled vars: !0 = $prepare
line #* E I O op fetch ext return operands
-----------Generated using Vulcan Logic Dumper, using php 8.0.0