Hmm. My guess (as a long-time interpretter/compiler fiddler) would be that
since it's named ABasiC, the language ia written in C, and thus part of the
overhead comes from that — a compiled interpretter, rather than an assembled
one. The figures I've seen indicate that ABasiC (which as we all know, parses
line upon entry, either via keyboard or disk) keeps hash tables for variables
and [Cvector tables to keep track of ON ERROR… statements. (MSBasics tend
to do this too, but only at run time, rather than at input time. Thus
sometimes you can enter a program, but be unable to run it!) Also, don't
forget the non-tokenization of the program — the various vector and hash
tables amount to the same thing, but leave your source code more readable if
you're concerned about things like case conservation. Finally, an INT
variable on the Amiga is FOUR bytes….