MOO-cows Mailing List Archive


Lagless FUP

I noticed that one of the chief annoyances with FUP is the lag that occurs
when FUP reads in a large file.  To solve this on SchoolNet MOO, we've
added a couple of verbs:

:fileread_suspended works by reading the file in a few lines at a time and
suspending in-between

:filewrite_suspended writes the first line of the file normally, then calls
fileappend for the rest of the file, appending a few lines each time

Because not every character that the MOO uses is a valid character for a
filename, two verbs, :trans_to and :trans_from translate a MOO string into
a valid unix filename by adding '^' before each bad character.

The only laggy operation now is filelist(), as our file system is organised
mirroring the inheritance hierarchy is.  For most objects, this isn't a
problem as they have very few children, but $trash has 6670 children, each
of which has one file, so the directory must be there.  Right now, the MOO
is lagged for about 5 minutes whenever any stupid wizard types '$ls
/12/63', which is a real problem.  If anyone has a solution to this, it
would be appreciated.



Home | Subject Index | Thread Index