• Like
  • Save
Zend Optimizer Plus(O+)
Upcoming SlideShare
Loading in...5
×
 

Zend Optimizer Plus(O+)

on

  • 2,740 views

 

Statistics

Views

Total Views
2,740
Views on SlideShare
944
Embed Views
1,796

Actions

Likes
9
Downloads
42
Comments
0

14 Embeds 1,796

http://www.laruence.com 1560
http://cloud.feedly.com 92
http://xianguo.com 63
http://digg.com 26
http://feedly.com 17
http://www.feedspot.com 10
http://feed.feedsky.com 9
http://mars.oldyang.net 5
http://www.inoreader.com 5
http://inoreader.com 5
http://cache.baiducontent.com 1
http://www.newsblur.com 1
http://reader.aol.com 1
http://www.findex.cn 1
More...

Accessibility

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Zend Optimizer Plus(O+) Zend Optimizer Plus(O+) Presentation Transcript

    • Zend Optimizer Plus(Opcache) - laruence 13年11⽉月11⽇日 星期⼀一
    • What it is • Not Only Opcodes Cache • But Also Opcodes Optimizer • Shiped with PHP since 5.5 • http://pecl.php.net/zendopcache 13年11⽉月11⽇日 星期⼀一
    • Opcodes Cache • PHP->Compiler->Opcodes->Zend VM • Same As APC, Eacc • PHP->Opcodes Cache->Zend VM 13年11⽉月11⽇日 星期⼀一
    • Opcodes Optimizer 13年11⽉月11⽇日 星期⼀一
    • Optimizations • Pass 1 • Substitute persistent constants • • Perform compile-time evaluation of constant binary and unary operations • • 13年11⽉月11⽇日 星期⼀一 $a = 3 + 2 => $a = 5 Optimize series of ADD_STRING and/or ADD_CHAR • • const A = 1; $a = A; => $a = 1; $a = “a” . “b”; => $a = “ab”; Convert IS_VAR to IS_CV when it is possible
    • Optimizations • Pass 2 • Convert non-numeric constants to numeric constants in numeric operators • • Optimize constant conditional JMPs • • JMPZ(X, L1), JMP(L2) => JMPZNZ(X, L1, L2) Optimize static BRKs and CONTs • 13年11⽉月11⽇日 星期⼀一 $a = $b + “2”; => $a = $b + 2; break to opcodes + offset => break to opcode
    • Optimizations • Pass 3 • • • 13年11⽉月11⽇日 星期⼀一 Optimize $i = $i+expr to $i+=expr Optimize series of JMPs Change $i++ to ++$i where it is possible
    • Optimizations • Pass 4 • 13年11⽉月11⽇日 星期⼀一 INIT_FCALL_BY_NAME -> DO_FCALL
    • Optimizations • Pass 5 • CFG optimization • • 13年11⽉月11⽇日 星期⼀一 codes optimization remove dead blocks
    • Optimizations • Pass 9 • 13年11⽉月11⽇日 星期⼀一 Optimize temp variables usage
    • Optimizations • Pass 10 • 13年11⽉月11⽇日 星期⼀一 Remove NOPs
    • Optimizations • Pass 11 • 13年11⽉月11⽇日 星期⼀一 Compact literals table
    • VS APC • 7% - 10% faster than APC • And More: • 13年11⽉月11⽇日 星期⼀一
    • Q&A 13年11⽉月11⽇日 星期⼀一