要下載請按這裡
這是我參考PEAR::Benchmark寫出來的一個效能分析物件。
使用方法請參考原始碼以及example.php

這幾天我會把設計上的考量以及為甚麼要如此設計分幾篇文章寫出來。

HACGIS 發表在 痞客邦 留言(0) 人氣()

目前我認識的人裡面,像我一樣「大量」使用中文來作變數名稱、認真寫程式的人,我只認識一位,只不過他是寫JAVA的高手。

用中文來寫程式不是什麼稀奇的事情,但重點在於我為何「一定」要用中文寫程式呢?
當然這是有理由的,請聽我詳述:
  1. 我希望在我的專業領域使用中文
  2. 我希望我的中文比其他的語文好
  3. 我希望我寫出來的程式比較易懂

HACGIS 發表在 痞客邦 留言(6) 人氣()

話說我這個使用參照到病態的人,來寫這個應該蠻適合的。

首先要提得是為甚麼要使用參照?
最重要的理由是為了減少複製變數的成本,這個成本包括記憶體的使用以及時間上的消耗。
如果你看過PHP的原始碼,PHP的變數基本上是由ZVAL這個結構所控制的,所以不管是不是使用參照,當我們作函數的參數傳遞、返回值以及變數賦值的時候,這個結構的產生是不可避免的。

HACGIS 發表在 痞客邦 留言(12) 人氣()

在寫PHP程式的時候,我常常希望能有「同名異式」的東西出現,不過我知道那是辦不到的。
C++的同名異式是編譯器靠著函數的簽名型態自己處理,實際上是在編譯的時候把函數名稱編碼掉了,只是寫程式的人不自知而已。
由於PHP的變數是弱型態,所以用C++的方式也沒法達到同樣的效果。

而我比較愚蠢,同時我也信任自己的編程手法,所以我自己對函數作命名,而不依賴__call這種魔術方法作前處理,而對於單純的函數,即便想用魔術方法也沒輒。

HACGIS 發表在 痞客邦 留言(0) 人氣()

今天在找資料時看到這一篇,我心血來潮重做了一下這個實驗,結果發現差異沒有那麼明顯。
當然可能是因為我用的是PHP 5.2,或是機器是雙核心的關係,實際的最大差距也不過是2~3倍。

程式碼在下面:

<?php

HACGIS 發表在 痞客邦 留言(0) 人氣()