看板 PHP 關於我們 聯絡資訊
tkdmaf:測1萬筆時卻測出了出乎意料之外的結果。 12/03 15:30
tkdmaf:使用INI的時間為0.13~0.2,但用$lang=array()則是0.23~0.33 12/03 15:30
tkdmaf:反而是純讀INI的速度變快了。 12/03 15:31
我測的結果 Debian GNU/Linux 5.0 PHP 5.2.6-1+lenny9 with Suhosin-Patch 0.9.6.2 (cli) (built: Aug 4 2010 03:25:57) 陣列數:100001(因為我寫 0 <= 100000 = = 所以多個 1) 讀入 array.php 時間為 0.277458 改用 parse_ini_file 時間為 0.291061 以下是我測試的 code #!/usr/bin/php <?php include('Timer.php'); $timer = new Timer(); $timer->start(); //include('array.php'); $test_array = parse_ini_file('array.ini'); $timer->stop(); echo count($test_array) . "\n"; $timer->display(); function generate_array() { $fp1 = fopen('array.ini', 'w+'); $fp2 = fopen('array.php', 'w+'); for($i=0;$i<=100000;$i++) { fputs($fp1, sprintf("array_%d = %d\n", $i, $i)); fputs($fp2, sprintf("'array_%d' => %d,\n", $i, $i)); } fclose($fp1); fclose($fp2); } ?> 先用 generate_array 來產生兩種類型的檔案,接著在幫 array.php 補上 <?php、?>、$test_array = array(、); 不過我是純數字,也許陣列 value 可以換為字串試試看 -- 看起來 parse_ini_file 似乎在正常的筆數之下是比 php array 快耶… 畢竟很少有人會在檔案裡面塞 100000 個 k-v pair 或是 setting… -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 219.85.64.11
chrisQQ:附註,generate_array 也只要 1.353008 秒… (好快 12/03 15:39
Jerr:可以來個sqlite3嗎? :p 12/03 16:32
tkdmaf:我是直接在主程式就對$this->lang->load測。 12/03 17:01
tkdmaf:這樣也實測出用INI還是比較方便,效能上也能達到需求了。 12/03 17:03
tkdmaf:我的測試主機:ATOM 270 1.6GHZ,2G DDR3小筆電 12/03 17:06
chrisQQ:@Jerr 我看看吃飯前有沒有空在一起弄給你 XD 12/06 11:00