Discussion:
stackless oraz cpython
(Wiadomość utworzona zbyt dawno temu. Odpowiedź niemożliwa.)
Sulsa
2007-05-31 22:02:59 UTC
Permalink
Na stronie http://www.python.org/dev/implementations/ znalazlem opis
roznych implementacji pythona jest tam miedzy innymi opisany stackless:

"""
Stackless Python is a fork of CPython, but not one that diverges very
far from the main tree. Christian Tismer rewrote the main interpreter
loop of CPython to minimize its use of the C stack; in particular,
calling a Python function in Stackless Python doesn't occupy any more
room on the C stack. This means that, while CPython can only recurse a
few thousand levels deep before filling up the C stack and crashing,
Stackless can recurse to an unlimited depth. Stackless is also
significantly faster than CPython (around 10%), supports continuations
and lightweight threads, and has found a community of highly skilled
users who use it to do things such as writing massively-multiplayer
online games. The Stackless Python home page is at
http://www.stackless.com.
"""

Wiec skoro Stackless jest znaczaco szybszy i posiada klika dodatkowych
przyjemnych funkcjonalnosci to czemu patche ktore umozliwily stworzenie
tej galezi interpretera pythona nie zostana wcielone do Cpythona?
Rob Wolfe
2007-06-01 07:33:43 UTC
Permalink
Post by Sulsa
Na stronie http://www.python.org/dev/implementations/ znalazlem opis
[...]
Post by Sulsa
Wiec skoro Stackless jest znaczaco szybszy i posiada klika dodatkowych
przyjemnych funkcjonalnosci to czemu patche ktore umozliwily stworzenie
tej galezi interpretera pythona nie zostana wcielone do Cpythona?
Hmm... to w jest w sumie bardzo ciekawa historia. Im wi cej o tym
czytam, tym mniej rozumiem. :) Gdy przychodzi do dyskusji na temat
stacklessa wi kszo ludzi (w tym core-deweloperzy CPythona)
s pod wra eniem jego mo liwo ci, ale do integracji jako nie
dochodzi.
AFAIR g �wne przeszkody to:
1. kompleksowo zmian (np. zmiana obiektu ramki stosu)
2. zwi kszenie r� nic pomi dzy CPythonem a innymi implementacjami
(Jython, IronPython), podobno s jakie techniczne powody,
dla kt�rych stackless mo e by zintegrowany tylko z CPythonem
3. utrudnienie w tworzeniu rozszerze w C (kopiowanie stosu itp.)
4. ograniczona przeno no pomi dzy platformami

Ale tak naprawd , to chyba stackless czeka na prawdziwego
dewelopera "with balls", kt�ry b dzie w stanie (i b dzie mu si
chcia o)
po wi ci par miesi cy ycia na przeforsowanie tych zmian.
AFAIR Christianowi Tismerowi zabrak o troch determinacji
w przekonywaniu do tych zmian. OTOH wcale mu si nie dziwi ,
bo wi e si to z niesko czon ilo ci dyskusji.
My l , e nadejdzie jeszcze czas stacklessa.

--
pozdrawiam
Rob
Adam Karpierz
2007-06-01 12:22:20 UTC
Permalink
Post by Sulsa
Na stronie http://www.python.org/dev/implementations/ znalazlem opis
[...]
Post by Sulsa
Wiec skoro Stackless jest znaczaco szybszy i posiada klika dodatkowych
przyjemnych funkcjonalnosci to czemu patche ktore umozliwily stworzenie
tej galezi interpretera pythona nie zostana wcielone do Cpythona?
Guido sie troche glupio uparl.
Juz nawet nie chodzilo o scisla integracje Stacklessa z CPythonem.
Chodzilo tylko o naprawde minimalna zmiane w core CPythona aby
Stackless mogl byc instalowany jako zwykly zewnetrzny package.

To niestety tez nie przeszlo i zamiast:
python setup.py install
mamy:
copy Stackless\Python2X.dll C:\Windows\System32\Python2.x.dll

AK

Loading...