ICC vs GCC

I've read that ICC produces noticeably faster exectuables compared to GCC. If so, why aren't people ricing their systems with ICC? Would the GNU/Linux kernel even compile?

Attached: ProductGraphic_ParallelStudio-375.png (375x472, 218.49K)

Other urls found in this thread:

linuxjournal.com/content/linuxdna-supercharges-linux-intel-cc-compiler
github.com/linuxdna
software.intel.com/en-us/try-buy-tools
twitter.com/SFWRedditVideos

Try it.

Because ICC compiled programs run slower when it detects it's running on (Authentic)AMD CPUs.

Linux won't compile because it has GNU ASM (GAS) parts of code, embedded directly into C source code. For the same reason you can't compile Linux using clang.

I'd be curious to know if the difference is more than marginal when you ensure both compilers use the same levels and types of safety, (un)rolling and all that.

It depends on the program. Usually icc wins (with an Intel processor), sometimes gcc, and sometimes even clang. Comparing is a bit difficult though since all of them can use different flags, in different orders, and have different compile times.
The kernel can now be compiled with clang, perhaps icc works too but I don't think so. I wouldn't risk it since there's little benefit even if it happens to be faster.

You can if you use gnu's assembler.

clang can use gas inline assembly

LinuxDNA was a project that patched the kernel to allow it to be compiled with icc.
linuxjournal.com/content/linuxdna-supercharges-linux-intel-cc-compiler
It seems that their last patch is against a kernel version that's now ancient (2.6 series), but it is still the kernel for RHEL 6, which is still supported until 2020.
github.com/linuxdna
Unless there are plans to port the patches to the support 3.x series of kernels, or to 4.x, I assume the project is moribund.

Because it's proprietary, duuuh!

Back when Spec was important every large compiler maker cheated on the benchmarks, Sun did it, Intel did it, IBM did it, and eventually synthetic benchmarks fell out of favor because of the cheating.

As long as it's on an IntelĀ® CPU, goy.

GCC targets a very wide range of ISA. ICC targets one specific ISA. GCC's project scope is massive while ICC's scope is tiny in comparison.

this used to be true years ago but I don't think so anymore. pretty sure Intel abandoned it.

It costs a huge amount of money for a license. Have you seen the prices on that shit? $699 to start and $499 to renew. Of course people don't use it.

software.intel.com/en-us/try-buy-tools

This might've been true in 2005.

...

I riced my system with ICC once, but it wasn't worth messing with non-portable arguments. A lot of the optimizations require explicitly testing your application because they make assumptions about aliasing and struct packing.

Its free for .edu emails. Also a lot of license codes are floating around which are valid for linux. They never seem to get revoked.

All that tells me is GCC is trash

Are you fucking telling me this whole time performance on GNU/Linux could've been solved years ago with a decent compiler?

There is no problem with GNU's or Linux' performance.

I have no idea what you're referring to about GNU or Linux related run time performance.

We've been over this years ago you fuckboi.

why not audit the source code and change the line:
to

(((They))) will sue you for reverse engineering,

Because it's closed source.

That's not how their compiler slows down AMD cpus. They insert hint instructions that masquerade as NOP instructions on an AMD cpu, but give better branch prediction and caching on intel cpu's.
Really all its doing is leveraging features that intel CPUs have, that AMD cpu's don't.

Not true at all, years ago ICC code was decompiled and it was proved that there were tons of ways they employed to slow down code on AMD. It was a big scandal at the time.

That was the "scandal" but fanboys were salty about it and wanted to cause drama

why hasn't anyone mentioned tcc? literally the comfiest C compiler. Also why isn't there FreeDOS flag? :(

this


kek. it's easy to spot inlel shills nowadays.

But you responded to this thread.

That's pretty cool. Although people that would like to script in C are probably sparse (or already use tcsh). The D guys still have to market their language more as something that you can comfortably script in.

no super-duper optimization = no comfy