校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > PHP靜態延遲綁定和普通靜態效率的對比

PHP靜態延遲綁定和普通靜態效率的對比

熱門標簽:清遠陽山400電話號碼如何申請 襄陽房產電銷機器人招商 百度地圖標注飯店位置怎么 安徽移動外呼系統 百度地圖標注名編輯 怎么在高德地圖標注行走軌跡 施工地圖標注怎么做 個性化地圖標注在線 深圳400電話辦理那家好

PHP靜態延遲綁定和普通靜態效率的對比

只是一個簡單的小實驗,對比了下 延遲綁定 和 非延遲的效率

延遲綁定主要就是使用 static 關鍵字來替代原來的 self ,但功能非常強大了

實驗代碼:

class A { 
  protected static $cc1 = array('a1', 'b', 'c', 'd'); 
  protected static $cc2 = array('a2', 'b', 'c', 'd'); 
  protected static $cc3 = array('a3', 'b', 'c', 'd'); 
  protected static $cc4 = array('a4', 'b', 'c', 'd'); 
  protected static $cc5 = array('a5', 'b', 'c', 'd'); 
 
  public static function n1() { 
    return static::$cc1; 
  } 
  public static function n2() { 
    return static::$cc2; 
  } 
  public static function n3() { 
    return static::$cc3; 
  } 
  public static function n4() { 
    return static::$cc4; 
  } 
  public static function n5() { 
    return static::$cc5; 
  } 
} 
 
class C extends A { 
 
} 
 
class B { 
  protected static $cc1 = array('a1', 'b', 'c', 'd'); 
  protected static $cc2 = array('a2', 'b', 'c', 'd'); 
  protected static $cc3 = array('a3', 'b', 'c', 'd'); 
  protected static $cc4 = array('a4', 'b', 'c', 'd'); 
  protected static $cc5 = array('a5', 'b', 'c', 'd'); 
 
  public static function n1() { 
    return self::$cc1; 
  } 
  public static function n2() { 
    return self::$cc2; 
  } 
  public static function n3() { 
    return self::$cc3; 
  } 
  public static function n4() { 
    return self::$cc4; 
  } 
  public static function n5() { 
    return self::$cc5; 
  } 
} 

上面總共 A 、B 、C 三個類,里面全是靜態成員變量和方法,其中

A 類是使用了靜態延遲,
B 類是非延遲,
C 類是繼承A類實現了靜態成員變量和方法的延遲綁定。

過程也不多說了,環境是 PHP5.4.27 直接上測試結果:

有兩種情況,

1. 當只有 A、B類(也就是不讓任何類繼承A類)時,效率上幾乎沒有差別的

2. 當A類被C類繼承了之后,使用靜態延遲綁定的A類性能將會比 B類稍差一些(只要A類有了繼承的類就會變慢)

循環十萬次,耗時在 2.8s ~ 3.2s 之間 時間差距在 0.3 秒左右,應該還是可以忽略不計了吧

補充個:后來加了些測試方法,如果 C 類繼承 A 類后,重載了部分 A 類中的靜態成員變量,重載的越多則速度和 B 類(非延遲)就越接近,但 A 類的速度仍然會比 B 類 和 C 類慢

如有疑問請留言或者到本站社區交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

您可能感興趣的文章:
  • PHP延遲靜態綁定的深入講解
  • PHP Static延遲靜態綁定用法分析
  • 簡單談談php延遲靜態綁定
  • php延遲靜態綁定實例分析
  • PHP延遲靜態綁定示例分享
  • PHP 面向對象程序設計(oop)學習筆記 (二) - 靜態變量的屬性和方法及延遲綁定
  • PHP延遲靜態綁定使用方法實例解析

標簽:欽州 阜陽 中衛 延邊 臨夏 南昌 駐馬店 黑河

巨人網絡通訊聲明:本文標題《PHP靜態延遲綁定和普通靜態效率的對比》,本文關鍵詞  PHP,靜態,延遲,綁定,和,普通,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《PHP靜態延遲綁定和普通靜態效率的對比》相關的同類信息!
  • 本頁收集關于PHP靜態延遲綁定和普通靜態效率的對比的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 阿拉善左旗| 上饶市| 渑池县| 那坡县| 墨玉县| 山阴县| 明溪县| 射阳县| 延川县| 五家渠市| 江阴市| 图片| 康定县| 武宁县| 霞浦县| 同仁县| 深水埗区| 景东| 海晏县| 岑溪市| 金塔县| 蒲城县| 佳木斯市| 西林县| 荥阳市| 青冈县| 定结县| 平舆县| 舟曲县| 招远市| 永济市| 仪陇县| 竹溪县| 花莲县| 云阳县| 江口县| 工布江达县| 韶山市| 乡宁县| 札达县| 建德市|