Path: utzoo!attcan!uunet!husc6!purdue!decwrl!spar!freeman From: freeman@spar.SPAR.SLB.COM (Jay Freeman) Newsgroups: comp.sys.mac.programmer Subject: Re: Knowing Machine Code Message-ID: <1243@spar.SPAR.SLB.COM> Date: 14 Jun 88 21:07:36 GMT References: <13735@comp.vuw.ac.nz> <104700032@uiucdcsp> <4760@husc6.harvard.edu> Reply-To: freeman@spar.UUCP (Jay Freeman) Organization: SPAR - Schlumberger Palo Alto Research Lines: 24 In article <4760@husc6.harvard.edu> singer@endor.UUCP (Rich Siegel) writes: >In article <104700032@uiucdcsp> gillies@uiucdcsp.cs.uiuc.edu writes: > > Call me stupid, but I fail to see why you need two compilers. Why >not just have an extremely fast compiler that generates better code >than the competing compilers *AND* is FASTER than it's previous version? I believe that relatively simple compilers can run in time proportional to the number N of statements being compiled, but that certain non-simple classes of optimization require execution time that is O(N log N) or perhaps even O( N ** 1.5 ). If I am right, then for sufficiently large program size (probably that means "sufficiently large function size" in the case of C or of other languages that support completely independent compilation of functions), a "simple" compiler will compile arbitrarily faster than one which does these optimizations. Note also that if I am right, then if a software manufacturer truthfully states "our product will compile at the rate of N lines per minute", independently of program size, then that manufacturer is admitting to the world at large that the product CANNOT generate first-rate code.