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

C++Builder不支援MMX,SSE,SSE2,SSE3最佳化?

 
enter2004
初階會員


發表:51
回覆:94
積分:34
註冊:2005-04-10

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-06-13 21:27:30 IP:61.230.xxx.xxx 未訂閱
Hello all, codegear c compiler 最佳化似乎沒有SSE,SSE2等指令集可以設定 也不支援OpenMP, 不知道這些東西未來有可能加入C Builder中嗎? 看CodeGear的RoadMap沒有這些東西 在compiler方面,連GNU C Compiler (g ) 進步的幅度都比BCB來得大。 底上附上一份網路上2004年的compiler benchmark http://www.ddj.com/184405641
------
人生就像泡泡一樣,乘著風被吹著跑,等你發現時已經消失了。
就在快要消失的瞬間,希望能再飛高一點,
但是回神時總是慢了一步。
pcboy
版主


發表:177
回覆:1838
積分:1463
註冊:2004-01-13

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-06-14 08:02:35 IP:210.69.xxx.xxx 訂閱
Intel Compiler 好像對 Intel CPU 的最佳化最強, 至於是否可和 C Builder 搭配, 或搭配到什麼程度就不清楚了
------
能力不足,求助於人;有能力時,幫幫別人;如果您滿意答覆,請適時結案!

子曰:問有三種,不懂則問,雖懂有疑則問,雖懂而想知更多則問!
harpist
資深會員


發表:3
回覆:251
積分:430
註冊:2002-10-03

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-06-14 10:08:08 IP:59.104.xxx.xxx 未訂閱
我想有幾個地方可以下手
BCB6->Project->Compiler->Code optimization->Selected->Optimizations
BCB6->Project->Advanced Compiler->Instruction Set
最佳化後的效能應該是Intel Compiler 比較好。

BCB6可以使用內嵌組合語言的方式,這部份小弟也不是很懂,僅供參考。
<textarea class="cpp" rows="10" cols="60" name="code">//--------------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { char *strptr = "A"; char *destptr = new char[1]; int charcount; asm //大小寫轉換 { SSE2: AlphabetTransform_SSE2: mov esi,strptr mov edi,destptr mov ecx,charcount mov eax,0x20202020 movd xmm1,eax pshufd xmm1,xmm1,00000000b cmp ecx,16 jb Check_if_Zero_SSE2 Transform16Char_SSE2: movdqu xmm0,[esi] add esi,16 pxor xmm0,xmm1 movdqu [edi],xmm0 add edi,16 sub ecx,16 cmp ecx,16 jae Transform16Char_SSE2 Check_if_Zero_SSE2: cmp ecx,0 je Quit_SSE2 Less_than_16Pixel_SSE2: mov al,byte ptr [esi] inc esi xor al,ah mov byte ptr [edi],al inc edi dec ecx jnz Less_than_16Pixel_SSE2 Quit_SSE2: } ShowMessage(strptr); ShowMessage(destptr[0]); } //--------------------------------------------------------------------------- </textarea>
------
~§~迷時師渡,悟了自渡~§~
編輯記錄
harpist 重新編輯於 2007-06-14 10:27:56, 註解 無‧
暗黑破壞神
版主


發表:9
回覆:2301
積分:1627
註冊:2004-10-04

發送簡訊給我
#4 引用回覆 回覆 發表時間:2007-06-14 10:39:00 IP:125.231.xxx.xxx 未訂閱
如果他真的能幫你做到這部份的最佳化,那就不必提供你 inline asm 這種東西了。^__^
enter2004
初階會員


發表:51
回覆:94
積分:34
註冊:2005-04-10

發送簡訊給我
#5 引用回覆 回覆 發表時間:2007-06-14 18:34:59 IP:61.230.xxx.xxx 未訂閱
------
人生就像泡泡一樣,乘著風被吹著跑,等你發現時已經消失了。
就在快要消失的瞬間,希望能再飛高一點,
但是回神時總是慢了一步。
編輯記錄
enter2004 重新編輯於 2007-06-14 20:03:37, 註解 無‧
dllee
站務副站長


發表:321
回覆:2519
積分:1711
註冊:2002-04-15

發送簡訊給我
#6 引用回覆 回覆 發表時間:2007-06-15 08:50:58 IP:59.105.xxx.xxx 訂閱
C Builder 2007 的 compile 選項與 BCB5 差不多,CPU 選擇一樣是 386, 486, Pentium, Pentium Pro 四種,沒有新增什麼選項。
------
http://www.ViewMove.com
tylin123
初階會員


發表:33
回覆:53
積分:32
註冊:2003-05-19

發送簡訊給我
#7 引用回覆 回覆 發表時間:2007-07-15 22:51:06 IP:59.114.xxx.xxx 訂閱
我是 BCB 的擁護者. 雖然看了本篇的議題覺得總是對 BCB 愛之深責之切. 總有恨鐵不成鋼的遺憾.
但是話又說回來. 為何我們要用 BCB 的本質. 當初是為了最佳化的目的用它的嗎? 還是為了方便解決問題而用它.

Intel C compiler 雖然可以最佳化(CPU 是他們公司做的, 它沒最佳化說的過去嗎?) , 但是要不要試試看用它寫一個 Web Service 的程式
或用它寫一個 Application 看看. 我想寫完鉅作後, Debug 才是惡夢的開始.

我想還是以問題為導向來看待所使用的工具會比較客觀.

最佳化是每個 programmer 的最高境界,但不是最終目的.
licheer
一般會員


發表:23
回覆:20
積分:8
註冊:2007-08-19

發送簡訊給我
#8 引用回覆 回覆 發表時間:2009-07-02 21:53:07 IP:61.225.xxx.xxx 訂閱
請教兩個問題
Intel C compiler 是針對標準C 會有最佳化的效果
如果像 MFC, VCL, 這些視覺化的物件
也能最佳化嗎?

若是vc和bcb編寫dll, 有含class是不能互轉的
Intel compiler能最佳化兩者的dll嗎?
系統時間:2024-11-21 18:47:27
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!