psycopg2cffi (2015'te güncellendi)
psycopg2cffi bir başka psycopg2 uyumlu yedektir ve PyPy ile en iyi PostgreSQL performansını sağlamalıdır. settings.py
İkisiyle de uyumlu kalmak için bunu ekleyin :
try:
import psycopg2
except ImportError:
from psycopg2cffi import compat
compat.register()
psycopg2-ctypes (2012)
Ayrıca bazı kişilerin psycopg2-ctypes kullandığını da biliyorum.
Bu en kolay yol; her ikisiyle de uyumlu kalmak için, bu kodu Django'nuza eklemeniz yeterlidir settings.py
:
try:
import psycopg2
except ImportError:
from psycopg2ct import compat
compat.register()
Bunu birkaç yayın önce test ettim; ne yazık ki deneyimime göre, psycopg2-ctypes PyPy'nin sağladığı küçük performans kazanımlarını reddediyor. Ancak YMMV, kodunuzun genel olarak ne kadar JIT dostu olduğuna ve Python kodunu çalıştırmak için gerçekte ne kadar zaman harcadığınıza bağlıdır. Ve belki PyPy o zamandan beri gelişmiştir.
ve psycopg2-ctypes'ın henüz Windows için hazır olduğunu düşünmüyorum
Bunu denemedim, ancak ctypes platformdan bağımsızdır. AFAICT sadece libpq.dll
kitaplığın yüklenebilir olduğundan (PATH ortam değişkeninizdeki veya yerel dizininizdeki bir dizinde bulunduğundan) ve Linux'ta olduğu gibi Windows üzerinde çalıştığından emin olmanız gerekir.
pypy-postgresql
Alex Gaynor'un pypy-postgresql adında bir PyPy çatalı yaptığını görüyorum.
Bunun uzun vadede iyi bir seçim olduğunu düşünmüyorum. Şube bir yıldan fazla bir süredir güncellenmedi ve onu inşa etme girişimlerim başarısız oldu. Ve yine de bir PostgreSQL sürücüsünü yorumlayıcıya sabit kodlamak yanlış görünüyor.
Orada pypy-postgresql'in de ikilisi olmadığına inanıyorum, bu yüzden kullanmak istiyorsanız, tüm PyPy şubesini kendiniz oluşturmanız gerekir. Kalbi zayıf olanlar için değil: onlarca dakika ve en az 4 GB belleğe sahip bir makine alır. (Resmi talimatlar: http://pypy.org/download.html#building-from-source )
İnşa etmek için önce kaynağa ihtiyacınız var. Mercurial'i yüklediyseniz, kolayca yapabilirsiniz hg clone https://bitbucket.org/alex_gaynor/pypy-postgresql
. Değilse, automagic "ipucu" zip dosyasını indirebilirsiniz: https://bitbucket.org/alex_gaynor/pypy-postgresql/get/tip.zip
Bir komut satırı açın, sıkıştırılmış dizine gidin ve ardından pypy/translator/goal
PyPy kuruluysa, bunu oluşturmak için kullanmanız önerilir:
pypy translate.py -Ojit
Aksi takdirde:
python translate.py -Ojit
Maalesef bilgim burada bitiyor. " BytecodeCorruption: unimplemented opcode, ofs=234, code=203, name=BUILD_LIST_FROM_ARG
" Hatasını alıyorum