logo       

Re: Status update: CMUCL port to Darwin/OS X: msg#00012

lisp.cmucl.devel

Subject: Re: Status update: CMUCL port to Darwin/OS X

Hey, this is great news!

Pierre R. Mai writes:
>
> Edi Weitz said:
>
> > Does the PPC backend have threads like the x86 version? If not, do you
> > have plans to add them?
>
> As Raymond has noted, the Darwin/PPC port is currently like all other RISC
> ports (modulo recent work on the SPARC port), hence it uses stop-and-copy
> GC, and lacks MP. It also lacks most recentish additions like callbacks,
> and stack-checking (IIRC), though I expect to change that shortly.

I recently ported something based on CMUCL's callbacks to SBCL on OS X.
The calling convention is a bit strange, so it required refactoring
the code somewhat; the code in CMUCL takes a dumb-trampoline approach,
which won't work here. The trampoline needs to know something about
the argument types, but since that information is available at
trampoline-creation time, it's not a problem. And it's a lot less
fragile than the smart-trampoline approach I'd tried before on SPARC
and x86, where the trampoline setup the call into lisp (that was a bad
idea).

When I get a chance to test this code a little better, I'm going to
submit it to SBCL. After that, I'll port the changes back to CMUCL if
no one beats me to it :-)

> > How does CMUCL/PPC compare to OpenMCL feature- and performance-wise?

(Speaking here from experience with SBCL) OpenMCL has a naive
compiler, which works well enough a remarkable amount of the time. On
occasion, it'll turn out some truly aweful code, though. You know any
time you've appreciated Python's type inferencing? Those are the
times when OpenMCL is a pig.

> I haven't run benchmarks or anything, but performance-wise I expect CMUCL
> to be a bit faster than OpenMCL for a number of things. OpenMCL has a
> faster (simpler) compiler, AFAIK, and has better support for integration
> with native OS X facilities (like Cocoa). It also has support for native
> threading, IIRC.

"better support for integration with native OS X facilities" is more
like "any support", since there's very little you can do without
callbacks. But, that's a short-term issue. They are working on
ObjC-CLOS integration, though, which would mean an amazing level of
integration.




<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise