作者ggegge (Egg)
看板EE_DSnP
標題[心得] Yet another HW5 benchmark tool
時間Wed Dec 8 16:21:49 2010
[更新] 新增 log 模式可以用類似掃頻率的方式製造數據點
這是另一個 Hw5 的 benchmark tool
這個工具的目標是得到執行時間隨著 input 大小增長的關係
因為這個 tool 是用 Ruby 寫的,因此要先有 ruby interpreter
sudo apt-get install ruby (for Ubuntu users)
程式碼:
http://dl.dropbox.com/u/3448912/hw5bm.rb
USAGE:
ruby hw5bm.rb [START] [STOP] [STEP] [prog1 prog2 ...]
ruby hw5bm.rb --log [START] [STOP] [prog1 prog2 ...]
Linear mode example:
ruby hw5bm.rb 100 1000 100 ./adtTest.bst
=====Test case=====
[100, 200, 300, 400, 500, 600, 700, 800, 900, 1000]
=====./adtTest.bst=====
./adtTest.bst insert:
[0.01, 0.02, 0.05, 0.06, 0.06, 0.09, 0.08, 0.1, 0.1, 0.13]
./adtTest.bst ++:
[0.0, 0.01, 0.01, 0.0, 0.0, 0.0, 0.0, 0.0, 0.01, 0.0]
./adtTest.bst --:
[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.01, 0.0, 0.0]
./adtTest.bst erase:
[0.02, 0.03, 0.04, 0.04, 0.04, 0.06, 0.06, 0.04, 0.09, 0.09]
./adtTest.bst pop front:
[0.01, 0.03, 0.04, 0.04, 0.06, 0.05, 0.07, 0.09, 0.09, 0.09]
./adtTest.bst pop back:
[0.0, 0.02, 0.02, 0.02, 0.07, 0.08, 0.08, 0.08, 0.1, 0.09]
Logrithm mode example:
ruby hw5bm.rb --log 100 10000 ./adtTest.bst
=====Test case=====
[100, 200, 400, 800, 1600, 3200, 6400]
=====./adtTest.bst=====
./adtTest.bst insert:
[0.02, 0.02, 0.03, 0.1, 0.12, 0.28, 0.5]
./adtTest.bst ++:
[0.0, 0.0, 0.0, 0.0, 0.0, 0.02, 0.02]
./adtTest.bst --:
[0.0, 0.0, 0.0, 0.01, 0.0, 0.0, 0.01]
./adtTest.bst erase:
[0.0, 0.02, 0.05, 0.09, 0.17, 0.23, 0.49]
./adtTest.bst pop front:
[0.02, 0.01, 0.02, 0.05, 0.13, 0.26, 0.6]
./adtTest.bst pop back:
[0.01, 0.03, 0.04, 0.07, 0.08, 0.26, 0.5]
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.4.195
推 ckmarkoh:太強大了 12/08 19:14
推 aitjcize:推! 12/08 20:12
推 TommyKSHS:推推~ 12/08 22:02
推 Knossos:推~~ 題外話:benchmark的中文翻譯是什麼阿? 12/09 18:42
※ 編輯: ggegge 來自: 140.112.4.183 (12/09 19:48)