4 ms·
You sound knowledgable so thought I'd ask here :) ... Would there be any logic/benefit in a modern lisp machine? e.g. if intel decided they'd put the same engin
by psandersen 12y ago
You sound knowledgable so thought I'd ask here :) ...
Would there be any logic/benefit in a modern lisp machine? e.g. if intel decided they'd put the same engineering effort into a 'lisp machine' as they did Haswell, would there be any inherent advantages or things that could be done differently?
- lispm 12y agoActually a Lisp Machine is much more than just a CPU. It's a whole computer architecture, language implementation, operating system, user interface and a computer design. You think of it as it were just a CPU. But it was much more. Does a Lisp CPU make sense? Economically not, since there is no market for it and no innovation driver. You have seen what happened to Java CPUs... Technically? Could be. Instructions were probably a lot smaller. Memory would be tagged. The CPU would know more about data structures (which in many cases would get rid of buffer overflow exploits). Generally compiled Lisp runs quite nicely on 64bit Haswell machines.
- cmrdporcupine 12y agoI'm no CPU designer, but I gotta think there would be some advantage to designing a CPU architecture explicitly around optimizing garbage collection at least. That is keeping the tree of references in cache at all times to minimize collection scan times and avoid thrashing the cache during marking phases. And dynamic languages would benefit from having tagged pointers. These days I really feel like I/O is most often my bottleneck, not CPU execution. That said, when I was doing things in Java a lot that I should have been doing in C/C++ (or something like Rust now) I fought with the garbage collector and the latencies it introduced.
- gumby 12y ago> I gotta think there would be some advantage to designing a CPU architecture explicitly around optimizing garbage collection at least. That's what we all thought in those days but Pat Solvobarro killed it by using the MMU on a Sun Machine to implement a write barrier. I don't know how great that is these days (since you get a fault and a cache miss) but the principle was that the conventional hardware could get better faster than the specialized hardware could, and so general would overwhelm any local advantages of the specific.