Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!henry From: henry@utzoo.UUCP (Henry Spencer) Newsgroups: net.works Subject: Re: Not again!? Assembler vs High-Level languages Message-ID: <5478@utzoo.UUCP> Date: Sat, 13-Apr-85 19:52:26 EST Article-I.D.: utzoo.5478 Posted: Sat Apr 13 19:52:26 1985 Date-Received: Sat, 13-Apr-85 19:52:26 EST References: <483@terak.UUCP> <2251@wateng.UUCP> <492@terak.UUCP>, <3278@utah-cs.UUCP>, <1002@ecsvax.UUCP> Organization: U of Toronto Zoology Lines: 23 > How can any language (I don't know BLISS) produce a smaller program > than does assembler (assuming a competent assembly programmer)? I'm > more interested in HOW than in a discussion of how many > competent programmers there are. Because producing really tight code is an essentially mechanical job, requiring complex bookkeeping and application of many special tricks. Programs are much better at this than human beings. My recollection is that a human assembler programmer could, given a lot of work, get code comparable to that of the Bliss compilers for any given small piece of code. But the amount of work involved is prohibitive for any substantial program. Remember, we are not talking run-of-the-mill assembler programming here, we are talking serious crunch-the-last-bit maximum-use-of-every-register efforts. Mundane compilers generally do not do as well as good human assembler programmers, since the human programmer applies the simpler sorts of optimizations routinely. But real optimizing compilers put more work into every piece of code than a human programmer can afford for anything but the most crucial stuff. -- Henry Spencer @ U of Toronto Zoology {allegra,ihnp4,linus,decvax}!utzoo!henry