Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/5/84; site ssc-vax.UUCP Path: utzoo!linus!philabs!cmcl2!seismo!harvard!talcott!panda!genrad!decvax!tektronix!uw-beaver!fluke!ssc-vax!keith From: keith@ssc-vax.UUCP (Keith Nemitz) Newsgroups: net.micro.mac Subject: PD Modula2 Loader: How it works! Message-ID: <87@ssc-vax.UUCP> Date: Mon, 5-Aug-85 13:49:06 EDT Article-I.D.: ssc-vax.87 Posted: Mon Aug 5 13:49:06 1985 Date-Received: Sat, 10-Aug-85 04:42:51 EDT Distribution: net Organization: Boeing Aerospace Co., Seattle, WA Lines: 33 This is a quick summary of the Loader application used in the Public Domain Modula-2 compiler for mac. After requesting for a code file to load and execute, the Loader reserves a non-relocatable block in the mac's memory where the program will execute. Get this: The compiler generates object code that includes the use of absolute memory references. Apparently the loader 'fixes' the code in memory and changes any absolute references to reflect the position in memory. Woeful tidings to anyone who hopes to generate CODE segments from the object code files produced by the compiler. The advantageous side is that compiled programs run pretty snappily. These are some benchmarks that I came up with. Benchmark Consulair C 1.56 PD Modula-2 --------- ---------------- ----------- Sieve compile time 30s 35s Sieve link time 40s 55s Execution time 4.7s 7.4s Integer math test execution time: 4s 5-6s Array Lookup test execution time: 6s 4-5s Ackerman's (proc calls) ex time: 5s 4s Price $375.00 Free/Zip/Zero/Null/None!! Need I say more? keith