簡體   English   中英

一元運算符和二進制運算符之間的性能差異

[英]Performance difference between unary and binary operator

-foo(-1)*foo之間實際上存在性能差異,其中fooint類型的變量嗎? 理論上,一元運算符應該更快。 但是我認為編譯器會對此進行優化。

-foo(-1)*foo之間實際上存在性能差異-foo

從理論上講可以。 C ++標准對此不做任何保證。

但是,假設foo類型是整數,則這些表達式的可觀察行為之間絕對沒有區別。 因此,在這種情況下,允許編譯器為每個表達式生成相同的二進制程序。 理想的優化程序應生成性能更好的程序。

真正的編譯器是否為兩個程序生成相同的輸出是另一回事-沒有真正的編譯器是理想的。 您可以通過使用兩個替代程序的編譯器,然后比較輸出來找出。

暫無
暫無

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

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