[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[no subject]

    Date: Fri ,27 Jun 80 23:08:00 EDT
    From: RSG at MIT-AI (Robert S. Giansiracusa)
    To: (BUG LISPM) at MIT-AI

    On CADR-12, 29.95 NWS, ucode 669:

    Typed to interpreter:

    (do () (()) )

    runs fine.

    (do ((foo 5)) (()) )

    runs ok for about 10 seconds, then starts consing more and more until after about
    one minute the disk light is on almost full time.  I have no idea what it is consing,
    but by calling (ROOM T) I could tell that memory was being eaten up at the rate of
    about a few hundred thousand words per minute.
New-style DO in the interpreter conses.  There is no way it can avoid
doing this (the particular special case you give could be done without
consing, but the general case cannot be.)  It has to cons tables of the
variables and their values so it can assign them in parallel.
If you want your code to run efficiently you should compile it.