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?
ICC vs GCC
All urls found in this thread:
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've read that ICC produces noticeably faster exectuables compared to GCC
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.
Would the GNU/Linux kernel even compile?
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.
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.
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!
closed source icc is custom tuned to perform well on benchmarks by cheating and this has been a known fact for more than 15 years
"it's faster, goyim" he says even while this is known
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.
ICC produces noticeably faster exectuables
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.
This might've been true in 2005.
<being a poor fag
It's really not that expensive for the value it gives
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.
he doesn't know that ICC doesn't speed up anything but synthetic benchmarks
We've been over this years ago you fuckboi.
why not audit the source code and change the line:
"if cpu = amd run like shit: 1
"if cpu = amd run like shit: 0
(((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? :(
kek. it's easy to spot inlel shills nowadays.
easy to spot intel shills
But you responded to this thread.
tcc? literally the comfiest C compiler
supports scripting with shebang, then executes from the commandline
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