線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1812
推到 Plurk!
推到 Facebook!

BCB比VC差??

答題得分者是:lcsboy
superlarry
一般會員


發表:10
回覆:22
積分:6
註冊:2002-10-04

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-05-20 17:44:34 IP:163.28.xxx.xxx 未訂閱
我寫了一個RSA演算法的程式… 發現跑一模一樣的程式碼… 在VC的console模式下跑… 和在BCB的視窗模式下跑… BCB竟然用了二倍的時間!! 因為這個RSA演算法很花時間… 所以速度很重要… 請教各位大大… 這是什麼原因呢?? 另外!BCB有沒有什麼設定程式碼最佳化的功能?? 我把Poject->Option->Compiler->Code Optimization設定成speed… 但並沒有快多少ㄟ! 希望大家給我點建議!謝謝囉!
Royce520
高階會員


發表:18
回覆:157
積分:100
註冊:2002-09-13

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-05-20 18:06:40 IP:211.75.xxx.xxx 未訂閱
superlarry 你好,   恩  這個問題是編譯程式 對於輸出代碼最佳化優劣的問題,   個人以為不適合這樣說 誰好誰不好... 因為兩種工具的定位   是有所不同的...       再者, 一個程式在 console 模式下執行, 另依個在視窗下,   那麼這樣比較 現然不是公平的...  你也可以把程式用BCB   編譯成 console 模式下, 再來執行比較... 我想差異應該不是   哪麼明顯的... (因為BCB 在視窗下, 內部有很多訊息處理的   動作等等會被執行, 多做了些動作 所以會慢點...) <><>*真實的事物最美, 簡單的道理最好, 我能體會的 太少*
------
不要忘記呼吸,不要忘記編程! ∩__∩
axsoft
版主


發表:681
回覆:1056
積分:969
註冊:2002-03-13

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-05-20 18:11:29 IP:61.218.xxx.xxx 未訂閱
你把VC的Console mode程式用BCB的Visual C++ Project Conversion Utility 轉到BCB上來Run,我想速度是差不多的,表示BCB的Console Mode也是一樣方便的    步驟如下: 你會覺得慢是因為VCL包了太多東西了,如果用傳統的Windows寫法應該是差不多的 Delphi.Ktop風紀小隊---[ 發問前請先找找舊文章 ]--- 發表人 - axsoft 於 2003/05/20 18:16:21
tech_state
版主


發表:44
回覆:638
積分:641
註冊:2003-02-10

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-05-20 18:11:50 IP:61.221.xxx.xxx 未訂閱
superlarry, 您好 據我詢問使用VC的同事,得到的答案是,VC是使用某一Dll檔案才include進來。 而BCB是一開始就include一個vcl,所以在速度上,BCB就比VC差了一些。 而且您VC是使用console模式,BCB卻是使用視窗,如此的比較在起跑點就不平等了,或許您可以試試也在BCB使用console,再比較看看。    ======================= 涵養怒中氣。謹防順口言。留心忙裡錯。珍惜有時錢。 是非終日有,不聽自然無 天下本無事,庸人自擾之
lcsboy
版主


發表:87
回覆:622
積分:394
註冊:2002-06-18

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-05-20 20:42:35 IP:211.76.xxx.xxx 未訂閱
引言: 在VC的console模式下跑… 和在BCB的視窗模式下跑…
這樣子很不公平唷~ 舉例: 你不能拿飛機和機車一起比那一種交通工具速度比較快 給一直玩高階語言的程式設計師一些不同的關念 1. 不管是VC/BCB/Delphi還是任何語言作出來的console mode OS會使用CPU的Virtual 8086, 簡稱V86 mode, 是另一種保護模式 可以虛擬DOS環境, 因為是虛擬, 所以相容度絕對不可能100% 2. BCB/VC/Delphi作出來的Win32程式, 在Win98以後的OS, 才是真正是32bit 程式, 所有的堆疊, 程式編碼/解碼, 都是使用protect mode, 真正的保護模式 因此你不能拿一個V86程式和Win32程式來比速度, 不管VC/BCB/Delphi or 任何complier所作出來的V86程式, 一定/絕對/100%的和Win32程式效率上有所不同 不信的話, 你用BCB來作console, VC來作Win32程式(而且圖形介面要作得和BCB一樣好, 每個Message都要有寫), 嘿嘿嘿, 你就知道效率嚕 你的對照組和實驗組的條件差太多, 如果這樣硬是說 >
superlarry
一般會員


發表:10
回覆:22
積分:6
註冊:2002-10-04

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-05-20 21:05:11 IP:163.28.xxx.xxx 未訂閱
先跟大家說聲對不起… 我不是批評BCB不好… 我自己也是BCB的愛好者… 因為我原本想說同樣都是跑大數運數的程式碼… 速度應該和是否為CONSOLE MODE沒有關係… 聽了各位大大的說明後才發現事情並不是憨人想的那麼簡單… 感謝大家給的建議 發表人 - superlarry 於 2003/05/20 21:06:28
superlarry
一般會員


發表:10
回覆:22
積分:6
註冊:2002-10-04

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-05-20 21:24:02 IP:163.28.xxx.xxx 未訂閱
再請教大家一個問題… 因為現在運算很慢… 所以當我執行OpenDialog1->Execute()後… 就開始做大數的運算… 因為要跑十幾秒… 於是造成OpenDialog1會有殘影在瑩幕上… 要等運算全部結束後畫面才會正常… 或者運算時會造成程式畫面一片白色… 請問大家有什麼解決方法嗎? 把運算寫成THREAD嗎? 這樣會不會又造成運算變更慢?
lcsboy
版主


發表:87
回覆:622
積分:394
註冊:2002-06-18

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-05-20 21:50:33 IP:211.76.xxx.xxx 未訂閱
> 如果你要把程式寫成> > 如果試了幾次還是不行, 就另開一個標題, 我想, 會有很多人對這方面很有研究的唷< >
系統時間:2024-05-03 10:17:36
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!