5 ms·
> LISP was popular in the 1980s before caches, branch prediction, and complex memory hierarchies. You mean like in the 80s with very little RAM, larger virtual
by lispm 12y ago
> LISP was popular in the 1980s before caches, branch prediction, and complex memory hierarchies.
You mean like in the 80s with very little RAM, larger virtual memory to very slow disks, paging files of networks, booted images from network servers over 10Mbit links, ...
A time when commercial Lisp did a lot to be memory efficient (like cdr coding of Lisps, compacting GCs, incremental GCs, ephemeral GCs, generational GCs, ...).
> The car/cdr list is just about the worst way to represent lists in terms of performance on modern CPUS.
Actually modern CPUs are really fast with these list operations. For a lot of operations linked lists are fully sufficient.
You might also want to note that Lisp has data structures like vectors, multi-dimensional arrays, records, instances of Classes, hash tables and all kinds of fancy stuff, including access to 'foreign' memory which is accessible with pointers and manual memory management.
Currently optimized Lisp code is as fast as F#, OCaml, Java, Haskell or similar...