成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何高效優化PHP代碼解析損耗

開發 后端
PHP代碼解析損耗的優化目標是一個訪問只運行一個php文件,并且這個文件里不包含任何與這個流程無關的代碼。

程序員們在進行PHP代碼編程中總會希望對自己的代碼程序進行最優化的操作,使程序盡量的輕便簡潔。我們在性能分析shopex性能的時候。#t#

發現用在PHP的語法解析上的損耗占了很大比重,如果用valgrind看他的C調用的話,就會發現大約50%的時間被用在lex&yacc上面。也就是由PHP代碼轉成opcode的部分。即PHP代碼解析損耗。

這個方面PHP代碼解析損耗的優化極限目標是: 一個訪問只運行一個PHP文件,并且這個文件里不包含任何與這個流程無關的代碼。

如何兼顧代碼結構容易理解和性能是個挑戰

我們的處理思路是,通過類似smarty的編譯系統,將訪問編譯成一個個文件:因為shopex是mvc的結構,那么編譯粒度就每個控制器的方法對應一個流程文件。

當控制器第一次調用時,通過一種方法監控流經的每個model-method,子過程等等,最后抽取剝離出來,加上公用的數據庫連接函數,配置文件等等一起組合成一個單一的終極PHP文件。
至于緩存的更新基本就是版本的更新,每次升級的時候。touch一個cachestat文件的最后修改時間即可。

那么實現的挑戰有兩個:

* 一個叫model的函數化 (這樣叫很酷,有點像虛的死神化) 。是弱化model層對象特性,讓類退化為僅是函數的容器,減少繼承,重載這些應用。
* 二是實現一個自己的編譯引擎。

上面兩條最新的shopex485已經走了很遠了,商品和訂單的函數都已經拆分了。第二個PHP代碼解析損耗的解決辦法是我們自己實現了一個叫tramsy的解析器( 翻轉(smart)+y ),特點是把大量的插件改成了編譯型。強化了編譯插件的特性,增加了一種編譯型modifier的插件類型。并且提出了變量預綁定的概念:

 

  1. {if $var=1}  
  2. yes  
  3. {elseif $var=2}  
  4. no  
  5. {else}  
  6. what?  
  7. {/if} 

 

如果是原生的smarty,生成的代碼是:

 

  1. vars['var']==1){ ?> 
  2. yes  
  3. vars['var']==2){ ?> 
  4. no  
  5. what? 

 

如果在tramsy里,程序員預測var一定是1,并且有把握在其值改變的時候系統自動清除模板緩存,就可以把他設置為”預綁定變量”
那么最終生成的代碼就是:

no

這個設計大約減少了一倍多的編譯結果。性能提升了大約20%,極大的優化了PHP代碼解析損耗。

責任編輯:曹凱 來源: shopex.cn
相關推薦

2009-02-20 11:05:58

PHP優化高效提速

2018-05-11 08:39:42

NAND閃存損耗均衡算法優化

2015-01-28 14:30:31

android代碼

2009-11-27 13:24:20

PHP代碼性能優化

2009-12-07 15:41:51

PHP圖片加水印

2009-12-08 14:20:30

PHP CLI腳本

2011-06-01 16:56:57

2010-01-05 13:54:32

Jquery Json

2011-07-12 17:33:09

PHP

2009-12-03 11:11:57

PHP網站優化

2009-11-26 10:32:57

PHP代碼優化

2022-09-06 07:00:35

CR代碼

2019-05-28 10:00:06

PHP代碼前端

2009-02-23 09:11:21

2011-03-24 13:09:11

數據庫代碼

2012-06-18 15:18:32

JS

2009-12-02 13:07:27

PHP XMLRead

2009-12-02 10:49:59

PHP解析XML元素結

2015-06-15 12:46:09

PHPPHP代碼分析解析

2009-07-31 14:50:16

電纜回波損耗
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: www.99re| 成人三区| 亚洲在线一区 | 91精品亚洲 | 国产视频日韩 | 成人精品一区二区三区四区 | 亚洲激情在线观看 | 性色av一区 | 视频一二三区 | 999国产精品视频免费 | 欧美亚洲国产日韩 | 国产高清免费视频 | 欧美一级片在线观看 | 久久久久久久久99 | 狠狠色狠狠色综合日日92 | 精品国产一区二区三区久久久久久 | 国产视频久久 | 国产探花在线观看视频 | 99在线视频观看 | 999久久| 久久精品99 | 日本精品久久久久久久 | 欧美aaaaaaaa| 成人免费视频网站在线观看 | 久久久久久国产精品 | www.蜜桃av | 国产韩国精品一区二区三区 | 国产久| 华丽的挑战在线观看 | 成人免费网站视频 | 国产成人免费视频网站高清观看视频 | 国产成人精品久久 | 日韩一区二区不卡 | 中文字幕精品一区久久久久 | 亚洲高清av在线 | 欧美日韩精品中文字幕 | 国产亚洲一区二区三区在线观看 | 欧美激情视频网站 | 古典武侠第一页久久777 | 91免费看片 | 免费观看毛片 |