Re: High Level Language vs Assembly

"Sophie Wilson" <sophie.wilson@broadcom.com>
23 Feb 2001 00:07:43 -0500

          From comp.compilers

Related articles
High Level Language vs Assembly francis.doyle@donovandata.com (2001-02-17)
Re: High Level Language vs Assembly jim.granville@designtools.co.nz (Jim Granville) (2001-02-22)
Re: High Level Language vs Assembly rhyde@transdimension.com (Randall Hyde) (2001-02-23)
Re: High Level Language vs Assembly sophie.wilson@broadcom.com (Sophie Wilson) (2001-02-23)
Re: High Level Language vs Assembly iank@idiom.com (2001-02-23)
Re: High Level Language vs Assembly thp@hill.cs.ucr.edu (Tom Payne) (2001-02-25)
Re: High Level Language vs Assembly walter@bytecraft.com (Walter Banks) (2001-02-25)
Re: High Level Language vs Assembly walter@bytecraft.com (Walter Banks) (2001-02-25)
Re: High Level Language vs Assembly rhyde@transdimension.com (Randall Hyde) (2001-02-25)
Re: High Level Language vs Assembly max@max.mcs.gac.edu (Max Hailperin) (2001-02-25)
[21 later articles]
| List of all articles for this month |

From: "Sophie Wilson" <sophie.wilson@broadcom.com>
Newsgroups: comp.compilers
Date: 23 Feb 2001 00:07:43 -0500
Organization: Broadcom DSL BU
References: 01-02-094
Keywords: assembler, performance
Posted-Date: 23 Feb 2001 00:07:43 EST

<francis.doyle@donovandata.com> wrote in message
> When I took a compiler class in Grad School, my professor was
> adamant about the efficiency of code produced by new high level
> language compilers. He stated that a human assembly language writer
> was no longer able to compete with these compilers (unless, of course
> you consider something like Microsoft VB...Ha Ha). His arguments were
> convincing, but I was looking for some actual numbers to back this up
> (ie; RECENT performance comparisons). Any help would be greatly
> appreciated (as I work in an IBM Mainframe assembly shop and this sort
> of talk gets me treated like a heretic).
>
> -Frank Doyle


Your assembly writer friends are right - up to a point. If you want
extremes of performance or code density, then they win over any
compiler on any machine. However, if you wish to count the cost of
getting this result in time/money, you may still prefer to use the
compiler.


The amount that a good assembly language coder will win by varies from
machine to machine and algorithm to algorithm. Anywhere between x2 and
x10-20 is perfectly possible. As machines have become more
complicated, the cost of becoming a good assembly language coder has
risen - its tough to understand how to write your code for a
superscalar processor - but the gains appear to have got larger!
(Probably because the compiler writers haven't got as good as quickly
as new variants appear: the compiler writer has to put this
intelligence in the compiler and that's tough, too! Families of chips
are a problem - it may just not be worth a compiler writer slaving
away at an optimisation for just one member of the family.)


Just at the moment, with the appearance of SIMD extensions which are
not catered for by the compilers, there tends to be a huge advantage
to machine coding things which use these instructions: we've seen good
C code go 4x faster on an x86 by such re-coding. For more aggressive
SIMD machines (whose details I cannot reveal on a news group!) we see
20x gains by re-coding. There are details on the TI C64x site of code
from their compiler vs their hand coding experts - in one case the
compiler won (I suspect it was allowed to win because the hand coding
experts couldn't be bothered) but in all the others, the assembler
gurus won.


--Sophie


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.