Discussion:
Forth ‚kernel‘
(zu alt für eine Antwort)
Sebastian
2021-01-27 21:07:21 UTC
Permalink
Hallo,

ich habe ein bisschen mt gnuforth, pforth etc. runprobiert. Aufgefallen ist mir dabei, dass - abgesehen von teilweise nicht vorhandenen Word - manche Befehle nativ implementiert sind, während andere nur Forth word (funktionen) sind die mt anderen Forth Befehlen/Funktionen implementiert sind. Mit see kann man ja gut nachschauen.

Nun frage ich mich, welche Word tatsächlich nativ implementiert sein müssen und was vielleicht nur aus Performancegründen nicht dur pure-Forth implementiert ist?

Mit freundlichen Grüßen
Sebastian
Anton Ertl
2021-01-28 07:15:11 UTC
Permalink
Nun frage ich mich, welche Word tats=C3=A4chlich nativ implementiert sein m=
=C3=BCssen und was vielleicht nur aus Performancegr=C3=BCnden nicht dur pur=
e-Forth implementiert ist?
Diese Fragen stellen sich viele, und wenn Du bei Gforth in die Datei
prim schaust, siehst Du fuer viele Primitives auch Forth-Code, gedacht
dafuer, damit man bei Gforth EC (wo die Primitives haendisch
geschrieben werden) zunaechst mit wenigen Primitives anfangen kann,
und wenn die debugt sind, kann man dann weitere Primitives
hinzufuegen, damit's schneller geht.

Na jedenfalls war in dem Zusammenhang die Antwort, dass das absolute
Minumum bei ca. 10 Primitives liegt, aber dann geht's wirklich sehr
langsam, weil man einige Woerter sehr ineffizient implementieren muss.
Ab 20 wird's dann langsam brauchbar.

In Gforth gibt's zwei Grunde fuer Primitives: Performance, und weil
eine C-Library-Funktion oder ein System-Call aufgerufen werden.

- anton
--
M. Anton Ertl Some things have to be seen to be believed
***@mips.complang.tuwien.ac.at Most things have to be believed to be seen
http://www.complang.tuwien.ac.at/anton/home.html
Loading...