Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!purdue!ames!sun-barr!male!pitstop!sundc!seismo!uunet!sco!seanf From: seanf@sco.COM (Sean Fagan) Newsgroups: comp.arch Subject: Re: RISC and emulated languages Message-ID: <2624@scolex.sco.COM> Date: 30 Apr 89 21:19:49 GMT References: <158@bms-at.UUCP> Reply-To: seanf@scolex.UUCP (Sean Fagan) Organization: The Santa Cruz Operation, Inc. Lines: 26 In article <158@bms-at.UUCP> stuart@bms-at.UUCP (Stuart Gathman) writes: >There is one interesting feature of RISC architecture that I haven't seen >mentioned much: the fact that an emulated/interpreted program will often >run faster than a compiled one. >I first noticed this in benchmark results for the ARM where BASIC ran the >benchmarks faster than C! *sigh* This is the result of a nice BASIC interpreter, written in highly-optimized, hand-coded assembly language, versus a poor C compiler. You can get the same results on an Apple ][, but that's more because most C compilers for it are not all that great. Also, there's a good chance that the "benchmark" you saw had many string operations; BASIC is good at that, while C isn't (BASIC can also do floating point operations in single-precision, while C generally doesn't). And, since (if I remember correctly) the ARM doesn't have a floating-point unit, being able to not have to convert from single-precision to double-precision (using only software!) can be a *big* win. In other words, it's not a feature of RISC architecture. -- Sean Eric Fagan | "An acid is like a woman: a good one will eat seanf@sco.UUCP | through your pants." -- Mel Gibson, Saturday Night Live (408) 458-1422 | Any opinions expressed are my own, not my employers'.