P4 3.0E / DDR400 512MB / WinXP SP2 / VS2003。陣列大小 65536 bytes,迴圈 50000 次,重複 10 次取平均。
test = new byte[65536]; 重新配置陣列(自動歸零)。Memset(test, 0, 65536); 自訂 for 迴圈逐元素歸零。for (k=0; k<65536; test[k++]=0); 內聯迴圈歸零。Array.Clear(test, 0, 65536); BCL 內建方法。test2.CopyTo(test, 0); 以預先準備的零陣列複製覆蓋。| 方法 | 最長 | 最短 | 平均 |
|---|---|---|---|
| 1. new 陣列 | 1937.5 | 1812.5 | 1842.19 |
| 2. Memset 函式 | 4593.75 | 4625 | 4584.38 |
| 3. 內聯迴圈 | 6046.88 | 5984.38 | 6001.56 |
| 4. Array.Clear | 562.5 | 640.5 | 581.25 |
| 5. CopyTo 零陣列 | 812.5 | 750 | 770.31 |
memset 或向量化指令)。new 陣列涉及記憶體配置與 GC,效能中等。Array.Clear。CopyTo。