在BCB中使用VC導入的Dll檔會與在VC使用時不同嗎?(速度) |
尚未結案
|
leochen1204
一般會員 發表:10 回覆:14 積分:4 註冊:2008-11-06 發送簡訊給我 |
我的Dll檔是從VC轉換過來的, 由蕭沖大大的幫忙.
http://delphi.ktop.com.tw/board.php?cid=168&fid=917&tid=96226 但是我現在使用之後發現, 一樣功能的程式在VC中較快, 在BCB中較慢. 我就用timeGetTime的方法去看看程式慢在哪裡. 結果是Dll裡的I/O指令, 每次呼叫都會花3~4ms, 大量呼叫導致我的BCB程式比VC的程式慢了2倍以上... 請問這是DLL檔的問題嗎? 或是有其他可能呢? |
aftcast
站務副站長 發表:81 回覆:1485 積分:1763 註冊:2002-11-21 發送簡訊給我 |
你好,
近來在趕捷運站的案子,快結案了,但超忙的… 可能沒法有太多的幫忙。 但是就你提到是否轉換會造成速度變慢? 這問題理論上是不存在的,因為改的是pe檔頭或是lib裡的資訊,這部份是在link時才會用到,只是告知link去哪裡找dll中的function,一但在link時確定了,就確立了。當成為exe檔後再來呼叫dll,完全沒有呼叫快慢的問題,若你真的要說有… 那肯定在1ms以下。就我所知vc在link dll的方式與bcb是有一點點小小的不一樣,但最多差一個微指令(jump),是非常非常沒感覺到的吧… 所以我個人大膽的猜測問題應該是排除dll的那些部份程式碼。其實…vc的效能理論上應該比bcb的好,因為bcb的framework包的比mfc來得更高階,所以慢一點應該是正常。以上是純就理論與猜想,但實際上沒有程式碼其實是很難就斷言。 ===================引 用 leochen1204 文 章=================== 我的Dll檔是從VC轉換過來的, 由蕭沖大大的幫忙. http://delphi.ktop.com.tw/board.php?cid=168&fid=917&tid=96226 但是我現在使用之後發現, 一樣功能的程式在VC中較快, 在BCB中較慢. 我就用timeGetTime的方法去看看程式慢在哪裡. 結果是Dll裡的I/O指令, 每次呼叫都會花3~4ms, 大量呼叫導致我的BCB程式比VC的程式慢了2倍以上... 請問這是DLL檔的問題嗎? 或是有其他可能呢?
------
蕭沖 --All ideas are worthless unless implemented-- C++ Builder Delphi Taiwan G+ 社群 http://bit.ly/cbtaiwan |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |