4 ms·
> But its dynamic nature together with automatic memory management Generally Lisp was used with a resident interpreter and (loadable) compiler, often interacti
by lispm 3y ago
> But its dynamic nature together with automatic memory management
Generally Lisp was used with a resident interpreter and (loadable) compiler, often interactively, it contained lots of information about the program under development. PASCAL tended to be compiled to small programs with small runtimes by a batch compiler.
The actual performance was only a secondary problem. The main problem was that Lisp used lots of memory and when the GC kicked in, it was generating a lot of memory usage -> for example by a mark & sweep GC. On a shared computer this could mean that just the Lisp program used much of the memory and on GC it was busy for some period of time. Other uses would see a massive performance degradation of the computer.
That was one of the reason to develop special computers, expensive single user workstations for Lisp, which had lots of expensive memory just for one user and improved memory management. For example, they then had four megabyte (or more) of random access memory. ;-)
> UCSD Pascal (I used it on the Apple II) was using a bytecode engine as the compilation task
Lisp systems also used byte code engines. Example: https://dl.acm.org/doi/pdf/10.1145/800087.802811 https://dl.acm.org/doi/pdf/10.1145/800087.802811