Subject: Re: Benefits of moving from Python to Common Lisp?
From: Erik Naggum <erik@naggum.net>
Date: Sat, 17 Nov 2001 02:06:39 GMT
Newsgroups: comp.lang.lisp
Message-ID: <3214951596835856@naggum.net>

* "Pierre R. Mai" <pmai@acm.org>
| When CMU CL was ported to x86 in the 90s, keeping up this partitioning
| scheme would have resulted in very bad performance, given the relative
| scarcity of general purpose registers on x86 machines, and the
| resulting register pressure.

  However, this performance issue is largely gone in more modern members of
  the IA32 family.  Good scheduling of stack-to-register operations will
  result in no worse performance than if you have many more registers.  It
  is amazing what Intel has managed to do with the 8080 instruction set. :)
  Most, if not all, of the register starvation issues, which were very real
  only a few years ago, are now _only_ an issue if you do poor instruction
  scheduling, as when you generate code for the old members of the family,
  where such operations would not have been pipelined and the memory waits
  were much, much longer.  Generating code for a (80)686 is very different
  from generating code for an 80386, if you want optimal performance.  In
  effect, you have to generate code for the underlying machine and then
  figure out how to express this in the relatively high-level instruction
  set, which only accidentally runs old 386 code fairly fast.  Really good
  performance on modern members of the IA32 family will produce really poor
  performance on old members.  I suspect that it costs a hell of a lot of
  money to keep up with this and that much old-style optimization is going
  on in less than fully supported compilers.

///
-- 
  Norway is now run by a priest from the fundamentalist Christian People's
  Party, the fifth largest party representing one eighth of the electorate.
-- 
  Carrying a Swiss Army pocket knife in Oslo, Norway, is a criminal offense.