簡體   English   中英

C ++ 0x優化編譯器質量

[英]C++0x optimizing compiler quality

我做了一些沉重的數字處理,對我來說浮點性能非常重要。 我非常喜歡英特爾編譯器的性能,並且它對產生的組件質量非常滿意。

我想在某些方面嘗試C ++ 0x主要用於糖部分,如auto ,初始化列表等,還有lambdas。 在這一點上,我通過boost在常規C ++中使用這些功能。

編譯器C ++ 0x生成的匯編代碼有多好? 特別是英特爾和gcc編譯器。 他們生產SSE代碼嗎? 性能是否與C ++相當? 有沒有基准?

我的谷歌搜索沒有透露太多。

謝謝。

ps:在某些時候我將自己測試它,但想知道相對於C ++會發生什么。

您可以期望對代碼進行相同的優化,因為編譯器在優化時肯定沒有變得更糟。 因此,僅使用新的C ++ 0x功能可能會對其產生影響。 但我懷疑你的核心例程會突然完全改變,以某種方式使用C ++ 0x-only功能。

請記住像auto和lambda這樣的東西只是語法糖。 這對編譯器優化沒有影響,因為它們只是生成相同代碼的方法。 所以你只需要擔心初始化列表之類的新“東西”。 但如果這也是低效的話,我會感到驚訝。

由於移動語義,您還應該期待許多改進。 您不再需要復制數據,而只是移動數據。 設計您的代碼以充分利用這一優勢。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM