Se pare că teza lui Dybvig nu este menționată până acum.
Este o plăcere să citiți. Modelul bazat pe heap
este cel mai ușor de implementat, dar bazat pe stiva
este mai eficientă. Ignorați modelul bazat pe șir.
R. Kent Dybvig. "Three Implementation Models for Scheme".
http://www.cs.indiana.edu/~dyb/papers/3imp.pdf
Also check out the implementation papers on ReadScheme.org.
http://library.readscheme.org/page8.html
Rezumatul este după cum urmează:
Această teză prezintă trei modele de implementare a schemei
Limbaj de programare. Primul este un model bazat pe heap utilizat în unele
în majoritatea implementărilor Schemei până în prezent; al doilea este unul nou
model pe bază de stive care este mult mai ecient decât modelul
heap-based model la executarea majorității programelor; iar al treilea este nou
pe bază de șir, destinat utilizării într-un procesor multiplu
implementarea schemei.
Modelul bazat pe heap alocă câteva structuri de date importante într-un
heap, inclusiv liste de parametri reali, medii obligatorii și apeluri
cadre.
Modelul bazat pe stiva alocă aceleași structuri pe o stivă
ori de câte ori este posibil. Acest lucru duce la o alocare mai mică a heapului, mai puțină memorie
referințe, secvențe de instrucțiuni mai scurte, mai puțin colectare de gunoi,
și utilizarea mai etică a memoriei.
Modelul bazat pe șir alocă versiuni ale acestor structuri chiar în
textul programului, care este reprezentat ca un șir de simboluri. În
string-based model, programele de programe sunt traduse într-un FFP
limba special concepută pentru a sprijini schema. Programe în acest sens
limbajul este executat direct de către mașina FFP, a
computer multi-procesor de reducere a șirului.
Modelul bazat pe stiva este de bun simt imediat; este
model utilizat de sistemul autorului Chez Scheme, o performanță de înaltă performanță
implementarea schemei. Modelul bazat pe șir va fi util pentru
oferind Schema ca o alternativă la nivel înalt la FFP pe mașina FFP
odată ce mașina este realizată.