[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Install INTEL C-Compiler and rebuild the COMPLETE System
- To: misc@openbsd.org
- Subject: Re: Install INTEL C-Compiler and rebuild the COMPLETE System
- From: "Jesper Louis Andersen" <jlouis@mongers.org>
- Date: Tue, 1 Jul 2003 12:02:54 +0100
- Content-Disposition: inline
- Mail-Followup-To: misc@openbsd.org
- References: <000701c33b65$0d096100$7f01a8c0@unknown> <20030626151752.GB26893@skywalker.bsws.de> <20030630193505.GI8494@snew.com> <200306301600.23891.dfeustel@mindspring.com>
- User-Agent: Mutt/1.4.1i
Quoting Dave Feustel (dfeustel@mindspring.com):
> Given that ICC is not open source, there is a new article at
> Ace's Hardware (http://www.aceshardware.com/) that shows
> some truly impressive results for icc 7.1 using SSE2 instructions
> on a P4.
Unfortunately, that does not matter at all to 99% of all applications
written and neither to the kernel. If you have your MP3-player or your
FFT-decoder or your video decoder you might reap benefit from using a
compiler that can do optimized SSE2-code.
The real problem here is the way optimizations gets added to the
compiler. Some optimizations are done with tremendous speed and will
produce executables with the same performance as the expensive
optimizations but a fraction.
I cannot see why icc applies to OpenBSD in any way, but the above
mention of where SSE2 would give you benefit. Second, gcc 3.2.2 seems
rather buggy IMO not producing correct code when optmizations gets
turned on. Furthermore there is no reason as to why you should add
''unsafe[1]'' optimizations to the -O flags.
What really confuses me is that gcc 3.x got an SSA-form converter. Given
that form it should be rather easy to do a lot of optizations rather
fast (faster than use-def chains and a lot simpler). So in principle I
think it should be faster than it is.
Next point: gcc 3.x got a compile-time regression test, so they might
actually speed the compiler up again. If it at some point gets past
2.95.x on all archs there might be a possibility for adapting it.
Another compiler is TenDRA, but it lacks some backends for a couple of
archs and lacks some of the more fancy optimizations, but see above - we
might not want them if they wont give you any bang for the buck.
Lastly: If you want pure speed you should not even be looking at C. C is
rather hard to optimize totally because of aliasing of pointers. You
need to employ an alias analysis in order be able to drive a certain
optimization through. A language like OCaml or SML does not to the same
extent have this problem. Yet OCaml and SML is generally hard to use for
writing kernels, partly due to the Garbage collection these languages
employ.
--
j.