I also found the writeup interesting.
The assembler speed of 30,000 lines per minute means that each line
required an average of about 300-400 instructions to assemble.
This suggests that the source being assembled was already in tokenized form
in memory, and that it was likely a single-pass assembler.
If the editor constructed the symbol table and replaced symbols with their
table pointers, then such a speed seems quite achievable. Since the editor
was interactive, it would have to do symbol lookups in any case.
I suspect that loading a large source file in text format would take a
little time, but perhaps LISA normally stored source files as token strings
plus a symbol table--a memory image of its internal data structures.
-michael - NadaNet 3.1 and AppleCrate II:
http://home.comcast.net/~mjmahon