Oprofile, swap

John Richard Moser nigelenki at comcast.net
Tue Dec 18 16:04:08 EST 2007



Jameson "Chema" Quinn wrote:
> 
> 
>     I suggest taking a look at PyPy for Python, which will dynamic
>     recompile
>     Python to native code and likely give some good performance benefits.  I
>     really can't stand JIT compilation and would prefer something that takes
>     advantage of Mono's own facilities, to centralize the effort in the JIT
>     at least (Mono has nice stuff), but IronPython is Microsoft Permissive
>     License which is not OSI approved.
> 
> 
> Has anyone looked at Psyco on the XO? The point is, no generic mono JIT 
> is going to be as smart about guessing the 95% case for Python, as 
> something written specifically for Python.
> 

The CIL dynamic re-compiler has a well-developed optimizer and a bunch 
of other stuff, including an awesome garbage collector.  The newer 
version use a compacting garbage collector IIRC; though Python might use 
reference counting internally (it might be better that way, but consider 
the interpreter itself would be in CIL and use reflection ...).

It's basically Python -> CIL -> CIL optimizer, not Python -> CIL -> C# 
optimizer.  Granted, yes, an optimizer aware of specific language ABI 
specifics (like classes for C++, functions and structures for C, ect) 
can pre-optimize and then let the lower level optimizer re-optimize the 
code better (I think that's how GCC does it, optimizes a Gimple tree 
based on language and then does a general optimization based on 
hardware); but a CIL reflection compiler could compile Python into an 
internal tree, optimize it, emit optimized CIL, and let Mono generate 
optimized x86 code (as in, optimize the generated x86 code).

> Disclaimer: I have no experience to back this up.

I have fuzzy understanding of compiler internals, nothing formal and 
nothing really great.  Ask a gcc guy and a Mono guy.
> 
> Jameson

-- 
Bring back the Firefox plushy!
http://digg.com/linux_unix/Is_the_Firefox_plush_gone_for_good
https://bugzilla.mozilla.org/show_bug.cgi?id=322367



More information about the Devel mailing list