By: Linus Torvalds (torvalds.delete@this.linux-foundation.org), July 16, 2013 11:32 am
Room: Moderated Discussions
bakaneko (nyan.delete@this.hyan.wan) on July 16, 2013 2:42 am wrote:
>
> Smelling is good and all, but doesn't mean you should leave
> out verifying your claims.
Hey, I'm not going to argue too much. I personally detest microbenchmarks for "CPU performance" stuff. It's stupid, and I think AnTuTu being a bad benchmark is arguably the bigger thing, and the "icc may be special-casing it" is clearly debatable and a gray area. So I agree that it's not clear how much icc can be blamed for taking advantage of a crap benchmark. Without knowing what icc does internally, it's hard to know just how specialized the breakage is.
I'll continue to stand behind the gcc benchmark in specint (not specrate) as being one of the few actually useful benchmarks for actual real CPU performance. And I don't say that because I'm a developer and I compile things using gcc, I'm saying that because gcc is a real load, with complex and realistic behavior, and a CPU (or compiler) that does well on that benchmark is a good CPU (or compiler).
Everything else is dubious.
Microbenchmarks in particular can be very useful to test particular issues (I use them myself when I want to profile some particular piece of code), but they should never be used for CPU benchmarking.
Linus
>
> Smelling is good and all, but doesn't mean you should leave
> out verifying your claims.
Hey, I'm not going to argue too much. I personally detest microbenchmarks for "CPU performance" stuff. It's stupid, and I think AnTuTu being a bad benchmark is arguably the bigger thing, and the "icc may be special-casing it" is clearly debatable and a gray area. So I agree that it's not clear how much icc can be blamed for taking advantage of a crap benchmark. Without knowing what icc does internally, it's hard to know just how specialized the breakage is.
I'll continue to stand behind the gcc benchmark in specint (not specrate) as being one of the few actually useful benchmarks for actual real CPU performance. And I don't say that because I'm a developer and I compile things using gcc, I'm saying that because gcc is a real load, with complex and realistic behavior, and a CPU (or compiler) that does well on that benchmark is a good CPU (or compiler).
Everything else is dubious.
Microbenchmarks in particular can be very useful to test particular issues (I use them myself when I want to profile some particular piece of code), but they should never be used for CPU benchmarking.
Linus