Liste des Groupes | Revenir à cl forth |
On 7/14/24 04:02, albert@spenarnc.xs4all.nl wrote:This discrepancy between b4 and b5 is due to the fact that, in kForth, DOES> not inline the code into the created word. So there is room for improvement in the implementation of DOES> in kForth. There are other important pressing issues to deal with, such as making the User's Manual more useful (the most important item) and adding other standardized words, but improving DOES> is low-hanging fruit.In article <2024Jul13.173138@mips.complang.tuwien.ac.at>,Let's check. In kForth-64, an indirect threaded code system,
Anton Ertl <anton@mips.complang.tuwien.ac.at> wrote:
<SNIP>>>
In any case, if you are a system implementor, you may want to check
your DOES> implementation with a microbenchmark that stores into the
does-defined word in a case where that word is not inlined.
Is that equally valid for indirect threaded code?
In indirect threaded code the instruction and data cache
are more separated, e.g. in a simple Forth all the low level
code could fit in the I-cache, if I'm not mistaken.
>
.s
<empty>
ok
f.s
fs: <empty>
ok
ms@ b4 ms@ swap - .
4274 ok
ms@ b5 ms@ swap - .
3648 ok
So b5 appears to be more efficient that b4 ( the version with DOES> ).
Les messages affichés proviennent d'usenet.