[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
Re: [pygame] speculation: a JIT for Pygame
- To: pygame-users@xxxxxxxx
- Subject: Re: [pygame] speculation: a JIT for Pygame
- From: René Dudfield <renesd@xxxxxxxxx>
- Date: Sun, 23 Jan 2011 22:00:07 +0000
- Delivered-to: archiver@xxxxxxxx
- Delivered-to: pygame-users-outgoing@xxxxxxxx
- Delivered-to: pygame-users@xxxxxxxx
- Delivery-date: Sun, 23 Jan 2011 17:00:15 -0500
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:in-reply-to:references:date :message-id:subject:from:to:content-type; bh=bEU9QcIuJWPrNXR4Rns8si1nfOC8AOWvnSb7MxgD9vI=; b=cZHsaEQ2BwLDxvcy7bVHevTgI87nu3GurB2wDnLa+b4w1YQC12hv1MWPUmcKCR7BTZ z7OTRlSq8DvxG2MvIO9grfsjvmfUk4WiE5CYiCtbfqJ5uphI5TgTyVE6iUvXDPM4c9yO Y5LmwZ4wnZUOVyfDHGThIIyURBoGpQRf3ePrM=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; b=AsCb/1TBBnvNHT0kGUfWjt2vQ4T1m75WGyGRQ7mOlnW54gS8G4dxtT6jyFOu1VJ04R tkJigxyQNeNOclnwCBltrS020OiMwcOdaqYAn14wYYOWQJafHqa57RThIGBDsn7LgCSj iwNgMeJwXHRJ0I+BttbSJwuy8mFWVeIjtw3Ig=
- In-reply-to: <4D3C8C0C.3000608@xxxxxxxxx>
- References: <4D3C8C0C.3000608@xxxxxxxxx>
- Reply-to: pygame-users@xxxxxxxx
- Sender: owner-pygame-users@xxxxxxxx
Hi,
Sounds cool.
have you seen orc? http://www.schleef.org/blog/category/liboil/
cya.
On Sun, Jan 23, 2011 at 8:14 PM, Lenard Lindstrom <len-l@xxxxxxxxx> wrote:
> The problem:
>
> Unlike other image packages, Pygame supports operations on many different
> pixel formats: 32 bit pixel with alpha can blit to 24 bit without alpha,
> eight bit palette can blit to 16 bit without alpha, and so on. This makes it
> cumbersome to add new blit operations, like exclusive-or, and even more
> difficult to add a new pixel format.
>
> The proposal:
>
> With the acceptance of PEP 3146 the Unladen Swallow offshoot of CPython will
> be merged back into trunk Python sometime around Python 3.3. Unladen Swallow
> brings with it a Python JIT powered by LLVM. LLVM is a compiler tool kit
> that also provides runtime compilation to machine code. So the idea is to
> generate blitters on demand for various pixel configurations with LLVM.
>
> Alternatives:
>
> Another possibility is to design as generic a blitter loop as possible, then
> include some specialized loops for common pixel formats. Or one could
> develop a preprocessor that translates a specialized blit description
> language into corresponding C code, much the way Pyrex transforms Python
> like code into C. This approach is used to write sound modules for the Lisp
> based sound processing language Nyquist.
>
>
> This is all just far out speculation. It is a long term goal not intended
> for the next Pygame release.
>
> Lenard Lindstrom
>
>