PCDVD數位科技討論區
PCDVD數位科技討論區   註冊 常見問題 標記討論區為已讀

回到   PCDVD數位科技討論區 > 電腦硬體討論群組 > 系統組件
帳戶
密碼
 

回應
 
主題工具
esung
Regular Member
 

加入日期: Nov 2006
文章: 69
Post Windows 多工環境之MAME編譯測試 (MAME 0.148 + MinGW)

剛剛興致來了抓了MAME 0.148的程式碼想要自己Compile, 用預設的make跑下去才發現沒有開多工(只有單執行緒), 居然要超過半小時.

我決定測一下讓全部核心都投入Compile的差異:

需要的檔案:

(1)MinGW MAME package:

MinGW MAME For Windows 32 bit Only

MinGW MAME For Windows 64 bit Only

這是需要編譯目前MAME的編譯包, 包含所有需要的工具根程式庫, 看你需要編譯成32bit 還是64bit Windows下載(選一就好)

(2)MAME 0.148 source code

MAME 0.148 official

雙重壓縮過的MAME原始碼(最小的檔案大小)

(3)timemame MAME計時程式 (附加檔)

用來顯示花了多少時間跑make


準備工作:

(1)安裝MinGW for MAME
(a)在某磁碟機Z的根目錄建立mingw的資料夾
(b)將之前下載的MinGW MAME package 解壓至\mingw\ 底下

(2)安裝MAME 0.148 程式碼
(a)在某磁碟機Z的根目錄建立mame_source的資料夾(名稱自訂也可以)
(b)將MAME 0.148 程式碼解壓至mame_source的資料夾(第一次會解出mame.zip, 需要再解壓一次)

(3)解壓timemame到mame source的資料夾下

編譯:

(1)開啟 cmd.exe (到完成測試前都不要關閉, 要不然PATH需要重設)

(2)設定mingw compiler的路徑, 輸入 Set PATH=Z:\mingw\mingw64-w64\bin (假設X:是安裝mingw的路徑. 如果裝的是32bit版本輸入 Set PATH=Z:\mingw\mingw64-w32\bin

(3)變更路徑到mame程式碼資料夾下 CD /D Z:\mame_source (假設 Z:\mame_source是安裝MAME程式碼的位置

(4)執行"timemame -j x" x 是你的電腦的CPU邏輯核心數量. A控的FX-8350的話就是timemame -j 8, I粉的i7-3770K也是 timemame -j 8 如果只輸入timemame而不加任何參數就是只使用單一執行緒(-j x 就是要GNU make跑 x個job)

(5)跑完就可以看得到一共跑了多久, 如果需要重跑請先刪除obj資料夾(compile時產生的)
要更上一層的話可以考慮全部在RAMDISK內執行


編譯MAME64的結果:

單一執行緒(2200秒)


多工(160秒)
     
      
上傳的附加檔案
文件類型: zip timemame.zip (556 位元組, 12次瀏覽)
舊 2013-05-05, 07:45 PM #1
回應時引用此文章
esung離線中  
digital4ever
Basic Member
 

加入日期: May 2013
您的住址: 台灣
文章: 26
你這是哪種CPU, 居然可以跑出10倍以上的速度?

自己編譯MAME有比直接從網路下的好嗎?
 
舊 2013-05-28, 04:01 PM #2
回應時引用此文章
digital4ever離線中  
jamin
Senior Member
 
jamin的大頭照
 

加入日期: Dec 2002
文章: 1,370
如果你先編譯 -j 1, 再編譯 -j 8

那 -j 8 會受益於 cache 而更早完成, 所以才會有 13 倍的效果.

建議多跑幾次比較 cache 後的結果比較有意義.


另外, intel 的 Hyper-Threading 功能, 跟原生 CPU core 差距頗大

一般我會估 0.25倍, 所以 i7 4核會設 6 job, i3 2核 會設 3 job


 
__________________
要討論也要找能溝通的, 跟狂吠的狗溝通只是浪費時間. 每日一句 : 很多不等於多數,也不等於少數
舊 2013-05-28, 08:59 PM #3
回應時引用此文章
jamin離線中  


回應


POPIN
主題工具

發表文章規則
不可以發起新主題
不可以回應主題
不可以上傳附加檔案
不可以編輯您的文章

vB 代碼打開
[IMG]代碼打開
HTML代碼關閉



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


vBulletin Version 3.0.1
powered_by_vbulletin 2025。