NETWORK@FRSAC11.BITNET (12/19/87)
+Date: Fri, 18 Dec 87 12:36:10 est +From: gjs@ZOHAR.AI.MIT.EDU (Gerald Jay Sussman) +To: NETWORK%FRSAC11.BITNET@MITVMA.MIT.EDU +n-Reply-To: NETWORK%FRSAC11.BITNET@MITVMA.MIT.EDU's message of Fri, 18 Dec 87 + 15:47:25 GMT <8712181549.AA15413@zohar> +Subject: Byte code speed. + +great... TI PC Scheme 3.0 is still faster! +But on big problems (~100 pages of code) CScheme beats the +PC scheme by a large amount. Why on larger code ? (memory management ?) As far as I have observed PC Scheme GC somewhat less than CSCheme, From old popular wisdom (here, in France) it is said that the speed of an interpreter is strongly related to the use of "CONS" for the own use of the interpreter itself, and I have the feeling that PC Scheme "conses" less than CScheme too. (I am surely wrong, it is just a feeling. But the popular wisdom seems solid.) (CScheme is somewhat more clever than some other Lisp I have on my system, but around twice as slow, I am strongly thinking that the difference between then is the fact that the other interpreter does not "cons" at all) Comments ? Again my question: where can I find documents related to the byte coding used in the popular Scheme (PC, Mac, C) ? Extended question: I think that Scheme could be implemented with incredible efficiency on modern Forth 32 bit chips, with stack cache. Am I wrong ? Regards, Jean-Pierre H. Dumas network@frsac11 (bitnet) network%frsac11.bitnet@mitvma.mit.edu (arpanet) dumas@sumex-aim.stanford.edu (arpanet)
JAR@AI.AI.MIT.EDU (Jonathan A Rees) (12/19/87)
Date: Fri, 18 Dec 87 19:06:36 GMT From: NETWORK%FRSAC11.BITNET at MITVMA.MIT.EDU Again my question: where can I find documents related to the byte coding used in the popular Scheme (PC, Mac, C) ? The byte code interpreter and compiler used in MacScheme are described in not much detail in a paper by Will Clinger in the 1984 Lisp and FP Symposium proceedings, "The Scheme 311 compiler: An exercise in denotational semantics."
willc@tekchips.tek.COM (Will Clinger) (12/22/87)
The byte code interpreter and compiler used in MacScheme are described in not much detail in a paper by Will Clinger in the 1984 Lisp and FP Symposium proceedings, "The Scheme 311 compiler: An exercise in denotational semantics." More detail can be found in Appendix D of the current MacScheme and MacScheme+Toolsmith manuals. The purpose of this appendix is to tell how to write a machine code procedure that can be called from Scheme, but in doing so it describes some of the data representations, register conventions, calling conventions, and byte codes. Along with the paper cited by Jonathan, this is everything that has been published about the implementation of MacScheme. Peace, Will Clinger