[I7] Volunteer sought to do a little work on dumb-frotz

Graham Nelson graham at gnelson.demon.co.uk
Sun Mar 9 11:51:23 CDT 2008


Dear all,

I am increasingly trying to speed up the run-time
behaviour of story files compiled by Inform 7; in
particular, I've spent much of this weekend making
route-finding quite a bit faster, using various
trade-offs of memory usage for speed.

Although gross changes are noticeable, I'm often
hampered in this sort of thing by not having any
means of profiling how the story files run.

The main interpreter used for batch-testing in I7
is dumb-frotz, though in a form slightly hacked to
make the screen output easier to compare with
diff. (By default, it merges consecutive blank
lines into one, thus suppressing paragraph
spacing errors - exactly the sort of thing we use
it to check.) Still, essentially it's frotz with a very
simply text-only screen model, acting almost as
a teletype.

I'd like to find a volunteer who would be willing
to do a little work on dumb-frotz, to make two
improvements. Firstly, and I think this part ought
to be very straightforward, to make the minor
I7-use changes an option with a command-line
switch, then contribute these changes back into
the official dumb-frotz at the IF-archive. I'm a little
uncomfortable that I7's testing uses a customised
form of dumb-frotz of which I'm basically the only
owner - I'd much rather be able to use the
version on the shelf.

Secondly, to provide an option which will look
at I6's debugging information file (names of
symbols and their addresses, basically) and
then be able, when the story file finishes, to
print out the total number of Z-machine cycles
spent, and the total number in each named
routine or in those it calls. (It might possibly be
useful to know the maximum stack usage
reached during execution, too.)

This would be very helpful since I could then
aggregate profiling data across large numbers
of test cases to get a better idea of typical
usage: Inform for OS X contains a really nice
I6 debugger, but to use that means working
interactively on one case at a time.

Might any of you be interested in helping out,
or could you suggest people I might ask?

   Graham

--
Graham Nelson





More information about the Inform7-porters mailing list