成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

PHP中數(shù)組賦值性能及過程

Yumenokanata / 3560人閱讀

摘要:今天導出報表時,測試同事告訴我數(shù)據(jù)太大了,無法導出。我看了下大概只有條左右的數(shù)據(jù),完全不大。估計是上午將數(shù)據(jù)寫入數(shù)組時方式不對。修改了下果然了。

今天導出報表時,測試同事告訴我數(shù)據(jù)太大了,無法導出。我看了下大概只有1500條左右的數(shù)據(jù),完全不大。估計是上午將數(shù)據(jù)寫入數(shù)組時方式不對。修改了下果然ok了。
參考vld用法:http://www.phppan.com/2011/05...
mac下安裝vld擴展:http://blog.csdn.net/njys1/ar...
(第一次記錄文章,還不熟悉排版)

下面是簡單的還原
1.性能底下的寫法:


使用vld查看opcode的代碼:

function name:  (null)
number of ops:  8
compiled vars:  !0 = $array
line     #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   2     0  E >   ASSIGN                                                   !0, null
   3     1        ASSIGN_DIM                                               !0
         2        OP_DATA                                                  "1", $2
   4     3        ASSIGN_DIM                                               !0
         4        OP_DATA                                                  "a", $4
   5     5        ASSIGN_DIM                                               !0
         6        OP_DATA                                                  "3", $6
   6     7      > RETURN                                                   1

branch: #  0; line:     2-    6; sop:     0; eop:     7; out1:  -2
path #1: 0, 

顯然這種方式每賦值一次需要兩步操作

2.優(yōu)先的寫法:


對應(yīng)的opcode代碼:

function name:  (null)
number of ops:  6
compiled vars:  !0 = $array
line     #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   2     0  E >   ASSIGN                                                   !0, null
   3     1        INIT_ARRAY                                       ~1      "1"
         2        ADD_ARRAY_ELEMENT                                ~1      "a"
         3        ADD_ARRAY_ELEMENT                                ~1      "3"
         4        ASSIGN                                                   !0, ~1
   4     5      > RETURN                                                   1

branch: #  0; line:     2-    4; sop:     0; eop:     5; out1:  -2
path #1: 0,

這種方式每賦值一次需要一步操作,數(shù)據(jù)量大了區(qū)別就很明顯

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/22333.html

相關(guān)文章

  • php性能怎么優(yōu)化?php性能優(yōu)化安全策略

    摘要:性能問題一般不會超過占整個項目性能的,一般在。內(nèi)置函數(shù)的性能優(yōu)劣。幾乎與在函數(shù)中調(diào)用局部變量的速度相當。遞增一個全局變量要比遞增一個局部變量慢倍。類似的方法調(diào)用所花費的時間接近于次的局部變量遞增操作。 php性能怎么優(yōu)化?性能是網(wǎng)站運行是否良好的關(guān)鍵因素, 網(wǎng)站的性能與效率影響著公司的運營成本及長遠發(fā)展,編寫出高質(zhì)高效的代碼是我們每個開發(fā)人員必備的素質(zhì),也是我們良好...

    番茄西紅柿 評論0 收藏2637
  • task0002(一)- JavaScript數(shù)據(jù)類型語言基礎(chǔ)

    摘要:不過讓流行起來的原因應(yīng)該是是目前所有主流瀏覽器上唯一支持的腳本語言。經(jīng)過測試,數(shù)字字符串布爾日期可以直接賦值,修改不會產(chǎn)生影響。再考慮對象類型為或者的情況。對于結(jié)果聲明其類型。判斷對象的類型是還是,結(jié)果類型更改。 轉(zhuǎn)載自我的個人博客 歡迎大家批評指正 1. 第一個頁面交互 這里最需要學習的老師的代碼中,每一部分功能都由函數(shù)控制,沒有創(chuàng)建一個全部變量。且最后有一個函數(shù)來控制執(zhí)行代碼...

    elarity 評論0 收藏0
  • PHP入門

    摘要:運行在瀏覽器端。未來軟件的大趨勢。相同點為語言結(jié)構(gòu),不是函數(shù)輸出一個或者多個變量的類型,長度及值一般用于打印復雜變量結(jié)合標記格式化輸出如數(shù)組對象等輸出變量的值。一般用于打印變量。中認為變量的值為時,變量雖然定義了,但是無實際的意義。 PHP目錄======== php介紹 2 基礎(chǔ) 31 運算符 70 流程控制 77 函數(shù) 91 文件引入 100 ...

    abson 評論0 收藏0

發(fā)表評論

0條評論

閱讀需要支付1元查看
<