Finding entry points Branch analysis from position: 0 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 = 62) Position 1 = -2 Branch analysis from position: 13 2 jumps found. (Code = 43) Position 1 = 18, Position 2 = 23 Branch analysis from position: 18 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: 23 filename: /in/SPJnL function name: (null) number of ops: 42 compiled vars: !0 = $a, !1 = $Start_time, !2 = $i, !3 = $Runtime, !4 = $start_time line #* E I O op fetch ext return operands ------------------------------------------------------------------------------------- 3 0 E > ASSIGN !0, 'Improve+the+efficiency+of+php+code+2+favorites%0ANew+one%3A+php+programmers+easy+to+commit+10+errors+%7C+old+one%3A+PHP+code+optimization%0AThe+this+essay+translation+finishing+brightest+from+the+network+documentation+%28see+last+reference%29+in+multiple+PHP+Conference+is+the+Ilia+Alshanetsky+admiration+in+speech%2C+mainly+all+kinds+of+techniques+to+improve+PHP+performance.+For+the+sake+of+precision%2C+many+parts+have+detailed+the+efficiency+of+the+data%2C+as+well+as+the+corresponding+version+and+so+on.+Lazy%2C+data+is+not+one+given+directly+to+the+conclusion%2C+if+you+need+to+see+the+original+document%2C+please+go+to+the+end+%22References%22+section.+The+orange+title+for+the+recommended+part.%0A%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D+%3D%3D%3D%3D%3D%3D%0AMembers+must+be+called+statically+defined+as+static+%28PHP5+ONLY%29%0ATips%3A+PHP+5+introduces+the+concept+of+static+members%2C+the+role+and+function+of+PHP+4+internal+static+variables%2C+but+the+former+is+as+a+member+of+the+class+to+use.+Static+variables+and+class+variables+in+Ruby+%28class+variable%29+almost+all+instances+of+a+class+share+the+same+static+variable.%0AStatic+call+non-static+member%2C+efficiency+50-60%25+slower+than+statically+call+the+static+member.+Mainly+because+the+former+will+produce+E_STRICT+warning%2C+the+internal+need+to+do+the+conversion.%0AUse+class+constants+%28PHP5+ONLY%29%0ATips%3A+PHP+5+new+features%2C+similar+to+C+%2B+%2B+const.%0AThe+benefits+of+using+the+class+constant+is%3A%0A-+Resolved+at+compile+time%2C+there+is+no+overhead%0A-+The+hash+table+is+smaller%2C+faster+internal+lookup%0A-+Class+constants+exist+only+in+a+particular+namespace%2C+so+the+hash+name+shorter%0A-+The+code+is+cleaner+and+more+convenient+to+make+debugging%0ADo+not+use+require+%2F+include_once+%28temporarily%29++%0Arequire+%2F+include_once+each+call+will+open+the+target+file%21%0A-+If+you+use+absolute+path%2C+PHP+5.2%2F6.0+there+is+no+problem%0A-+The+new+version+of+the+the+APC+cache+system+has+to+solve+this+problem%0AFile+I+%2F+O+%3D%3E+increase+in+efficiency+is+reduced%0AIf+necessary%2C+you+can+inspect+the+files+yourself+is+to+require+%2F+include.%0ADo+not+call+meaningless+function%0ACorresponding+constant%2C+do+not+use+the+function.%0AAlthough+the+use+of+small%2C+but+the+efficiency+about+3500%25.%0AThe+fastest+Win32+check%0A-+Do+not+function%0A-+Win98%2FNT%2F2000%2FXP%2FVista%2FLonghorn%2FShorthorn%2FWhistler+...+General%0A-+Has+been+available%0AA+matter+of+time+%28PHP%3E+5.1.0+ONLY%29%0AYou+know+how+your+software+now%3F+Simple+%22time+%28%29%2C+time+%28%29+again%2C+you+ask+me+...%22.%0ABut+I+fear%2C+will+call+the+function%2C+slow.%0AWell+now%2C+do+not+call+the+function%2C+but+also+save+a.%0AAcceleration+PCRE%0A-+Without+saving+the+results%2C+do+not+%28%29%2C+all+%28%3F+%3A%29%0AThis+PHP+do+not+comply+with+the+contents+of+the+allocated+memory%2C+Province.+Efficiency+about+15%25.%0A-+Do+not+have+a+regular%2C+do+not+have+regular%2C+carefully+read+the+manual+%22String+Functions%22+section+in+the+analysis.+There+is+no+useful+function+that+you+missed%3F%0AFor+example%3A%0AThe+strpbrk+%28%29%0Astrncasecmp+%28%29%0Astrpos+%28%29+%2F+strrpos+%28%29+%2F+stripos+%28%29+%2F+strripos+%28%29%0AAcceleration+strtr%0AIf+you+need+to+convert+all+single+character+string+instead+of+an+array+do+strtr%3A%0AEfficiency%3A+10+times.%0ADo+not+do+unnecessary+replacement%0AEven+if+it+is+not+replaced+the+str_replace+also+its+parameter+assignment+memory.+Very+slow%21+The+solution%3A%0A-+Strpos+first+find+%28very+fast%29+to+see+if+it+needs+to+be+replaced%2C+if+necessary%2C+replace%0AEfficiency%3A%0A-+If+you+need+to+replace%3A+the+efficiency+is+almost+equal+to+the+difference+of+about+0.1%25.%0A-+If+you+do+not+need+to+replace%3A+strpos+200%25+faster.%0AEvil+%40+operator%0ADo+not+abuse+the+%40+operator.+%40+Looks+very+simple%2C+but+in+fact+there+are+a+lot+of+background+operation.+%40+%40+Than+without%2C+the+efficiency+gap%3A+three+times.%0AEspecially+not+in+the+loop+using+the+%40+5+cycles+of+testing%2C+even+with+error_reporting+%280%29+to+turn+off+the+error%2C+and+then+the+cycle+is+complete%2C+open%2C+than+fast+%40.%0AEfficient+use+of+strncmp%0ANeed+to+compare+the+%22before%22+n+characters+strncmp+%2F+strncasecmp+and+not+substr+%2F+pass+through+strtolower+more+not+PCRE%2C+more+10+million+indescribably+ereg.+strncmp+%2F+the+strncasecmp+efficient+%28although+not+much%29.' 59 1 INIT_FCALL 'array_sum' 2 INIT_FCALL 'explode' 3 SEND_VAL '+' 4 INIT_FCALL 'microtime' 5 DO_ICALL $6 6 SEND_VAR $6 7 DO_ICALL $7 8 SEND_VAR $7 9 DO_ICALL $8 10 ASSIGN !1, $8 60 11 ASSIGN !2, 0 12 > JMP ->24 62 13 > INIT_FCALL 'strpos' 14 SEND_VAR !0 15 SEND_VAL 'strncmp' 16 DO_ICALL $11 17 > JMPZ $11, ->23 64 18 > INIT_FCALL 'str_replace' 19 SEND_VAL 'strncmp' 20 SEND_VAL '%5Breplaced%5D' 21 SEND_VAR !0 22 DO_ICALL 60 23 > PRE_INC !2 24 > IS_SMALLER !2, 10000 25 > JMPNZ ~14, ->13 67 26 > INIT_FCALL 'array_sum' 27 INIT_FCALL 'explode' 28 SEND_VAL '+' 29 INIT_FCALL 'microtime' 30 DO_ICALL $15 31 SEND_VAR $15 32 DO_ICALL $16 33 SEND_VAR $16 34 DO_ICALL $17 35 SUB ~18 $17, !4 36 MUL ~19 ~18, 1000 37 CONCAT ~20 'runtime%3A', ~19 38 CONCAT ~21 ~20, 'Ms' 39 ASSIGN ~22 !3, ~21 40 ECHO ~22 41 > RETURN 1
Generated using Vulcan Logic Dumper, using php 8.0.0