I’m trying to verify something here… is around 20KB a typical size for just the parser portion of an Inform 6 game in Z-machine assembly? I’m talking about the parser component specifically, since that should be roughly the same across different games. Want to make sure my understanding is correct. ![]()
Do you mean a game using a somewhat recent version of the Inform 6 standard library?
Do you mean the size of the code only, or including objects, buffers and other arrays in dynamic memory, and what about strings? You mean code only, right?
I meant the approximate byte count of the Z-machine parser instructions.
Right, just code, the part that could be more or less reusable across games.
Do you mean a game using a somewhat recent version of the Inform 6 standard library?
Yes, for example. I think I could extrapolate your answer to an older Inform 6 version.
You’re free to guess of course. The complexity of the library has changed a lot since library 6/1.
And it’s important to understand if you’re interested in any other libraries than the Inform 6 standard library.
Looks like I need to research my question further; thanks for pointing it out.
You’d have to decide what counts as “the parser”. The Inform library has a lot of features. It doesn’t really distinguish between parser support and world model support, since every game needs both. And then not every game uses every feature.
Also, we’ve been slowly improving the I6 compiler to generate smaller code. When compiling a minimal game (one room, zero objects) under Inform 6.42, the code segment is 47480 bytes. Under 6.43 it’s 46868 bytes, and I am working on some changes to shrink it further.
(This is with library 6.12.6, debug mode off. Counting all compiled code, which is basically 100% library code for this example.)
Thanks for all the helpful responses. I got ahead of myself trying to make sense of my similarity logs (which compare z5 and z8 games compiled with the same Inform 6.X version and library) without really grasping the underlying concepts and bigger picture.
I just coded a visualization script that produced the image below… and now I realize I need to do my homework before I can ask my own questions, heh. ![]()
Thanks again!
