C++Builder不支援MMX,SSE,SSE2,SSE3最佳化? |
|
enter2004
初階會員 發表:51 回覆:94 積分:34 註冊:2005-04-10 發送簡訊給我 |
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 發送簡訊給我 |
|
harpist
資深會員 發表:3 回覆:251 積分:430 註冊:2002-10-03 發送簡訊給我 |
我想有幾個地方可以下手
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 發送簡訊給我 |
|
enter2004
初階會員 發表:51 回覆:94 積分:34 註冊:2005-04-10 發送簡訊給我 |
|
dllee
站務副站長 發表:321 回覆:2519 積分:1711 註冊:2002-04-15 發送簡訊給我 |
|
tylin123
初階會員 發表:33 回覆:53 積分:32 註冊:2003-05-19 發送簡訊給我 |
我是 BCB 的擁護者. 雖然看了本篇的議題覺得總是對 BCB 愛之深責之切. 總有恨鐵不成鋼的遺憾.
但是話又說回來. 為何我們要用 BCB 的本質. 當初是為了最佳化的目的用它的嗎? 還是為了方便解決問題而用它. Intel C compiler 雖然可以最佳化(CPU 是他們公司做的, 它沒最佳化說的過去嗎?) , 但是要不要試試看用它寫一個 Web Service 的程式 或用它寫一個 Application 看看. 我想寫完鉅作後, Debug 才是惡夢的開始. 我想還是以問題為導向來看待所使用的工具會比較客觀. 最佳化是每個 programmer 的最高境界,但不是最終目的. |
licheer
一般會員 發表:23 回覆:20 積分:8 註冊:2007-08-19 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |