PCDVD數位科技討論區

PCDVD數位科技討論區 (https://www.pcdvd.com.tw/index.php)
-   效能極限 (https://www.pcdvd.com.tw/forumdisplay.php?f=18)
-   -   在下寫的小小測試程式, 請各位笑納~~ (https://www.pcdvd.com.tw/showthread.php?t=144974)

bible1974 2004-07-01 01:18 AM

Your computer needs 28 second(s) to do this process
 
雙CPU好像沒有太大差異

snjohnny 2004-07-04 10:22 PM

Your computer needs 27 second(s) to do this process

我的是P4-2.4BG

奚落 2004-07-05 05:31 AM

跑原始的 test.exe (沒下載test2/3 來跑)
P4C 2.6GHz 花 26 秒.

特地來找你 2004-07-05 02:00 PM

p4 2.6g oc 2.92g

21秒....~~

thinking1982 2004-07-05 04:33 PM

竟然!!
 
用辦公室電腦P4 2.66Ghz
Your computer needs 24 second(s) to do this process

hackermoney 2004-07-05 06:03 PM

P4 3.0CG => 25秒 :shock:

mpc 2004-07-05 06:16 PM

收下了
謝謝:)

steven830629 2004-07-05 09:52 PM

P3 1G 256K *2
768mb DDR SDRAM

43sec.


無聊測同時兩支算,

結果都變成45sec.

wind123078 2004-07-06 01:16 AM

CPU:P4 3.0EG
RAM:1G
Your computer needs 16 second(s) to do this process
喔16秒

rockogl 2004-07-18 01:47 PM

對程式做點修改
http://www.csie.ncu.edu.tw/~cs102104/file/Sieve.zip
現在測試100,000,000應該沒什麼問題
我用Athlon 1GHz(133MHz)
256MB SDR SDRAM
Windows XP
程式由DevC++ 4.9.8.0(MinGW)編譯
跑起來要26秒
吃掉記憶體約99MB

原作者顯然本來要寫Sieve演算法
可是卻搞錯了演算法的細節
基本上這個演算法的方法是
找出目前已知最大的質數
然後把這質數的正整數倍數的數字通通砍掉
而且除了2以外
3以後的質數的整數倍數要砍掉只要砍其質數的3,5,7,9,11.....
所有奇數倍數就可以了
我也把原作者的int整數(本來一個欄位要4byte)
改成用bool(一個欄位1byte)
且陣列長度可以調整

總之大家試試看吧
另外這樣的寫法因為所Access的記憶體範圍太廣
直觀上來看
比較容易發生Cache miss
當然嚴格來說發生這種情形的應該是在每一輪質數的倍數消完後
要找下個最大已知質數發生

大概就這樣


所有的時間均為GMT +8。 現在的時間是12:19 AM.

vBulletin Version 3.0.1
powered_by_vbulletin 2024。