Wiki에서 "스택리스 (Stackless)가 10 % 빠릅니다"라는 곳을 어디에서 봤는지 모르겠지만 다시 한 번 성능 수치를 측정하지는 않았습니다. Stackless가 큰 차이를 만들기 위해 무엇을하는지 생각할 수 없습니다.
Stackless는 여러 조직 / 정치 문제가있는 놀라운 도구입니다.
첫 번째는 역사에서 비롯됩니다. Christian Tismer는 약 10 년 전에 결국 Stackless가 된 것에 대해 이야기하기 시작했습니다. 그는 자신이 원하는 것을 알았지 만 자신이하고있는 일과 사람들이 왜 그것을 사용해야하는지 설명하는 데 어려움을 겪었습니다. 그의 배경에는 코 루틴과 같은 아이디어에 관한 CS 교육이 없었고 그의 프리젠 테이션과 토론은 구현 지향적이기 때문에 아직 끊임없는 지식을 가진 사람이 솔루션으로 사용하는 방법을 이해하기 어렵습니다. 그들의 문제.
이런 이유로 초기 문서는 열악했습니다. 써드 파티 (third-party) 기고자들로부터 최선을 다해 사용법을 설명했습니다. PyCon 설문 조사에 따르면 PyCon 2007에서 " 스택리스 사용 "에 대해 이야기했습니다 . Richard Tew는 이러한 정보를 수집하고 stackless.com을 업데이트 하고 새로운 Python 릴리스가 출시 될 때 배포를 유지 관리 하는 데 많은 노력을 기울 였습니다. 그는 EVE Online의 개발자 인 CCP Games 의 직원으로 게임 시스템의 필수 부분으로 Stackless를 사용합니다.
CCP 게임은 또한 사람들이 Stackless에 관해 이야기 할 때 사용하는 가장 큰 실제 사례입니다. Stackless의 주요 튜토리얼은 Grant Olson의 " Stackless Python을 사용한 동시 프로그래밍 소개 "이며 게임 지향입니다. 나는 이것이 사람들이 게임을보다 쉽게 지향적으로 지향 할 때 Stackless가 게임 지향이라는 생각을 왜곡 시킨다고 생각합니다.
또 다른 어려움은 소스 코드였습니다. 원래 형태로 파이썬의 많은 부분을 변경해야했기 때문에 파이썬 리더 인 귀도 반 로섬 (Guido van Rossum)은 경고했다. 그 이유 중 일부는 call / cc에 대한 지원이 나중에 "더 높은 수준의 양식이있을 때 goto를 지원하는 것과 매우 흡사 한 것"으로 제거되었다고 생각합니다. 나는이 역사에 대해 확신하지 못하므로이 단락을 "스택리스 (Stackless)가 너무 많은 변경이 필요했습니다."라고 읽습니다.
이후 릴리스에서는 변경 사항이 필요하지 않았으며 Tismer는 계속해서 Python에 포함하도록 추진했습니다. 몇 가지 고려 사항이 있었지만 (내가 아는 한) 공식 입장은 CPython이 Python 구현 일뿐 아니라 참조 구현의 의미이며 Jython으로 구현할 수 없기 때문에 Stackless 기능을 포함하지 않는다는 것입니다. 또는 철 파이썬.
" 코드베이스에 대한 중요한 변경 "에 대한 계획은 전혀 없습니다 . Arafangion (의견 참조)의 인용 및 참조 하이퍼 링크는 대략 2000/2001입니다. 구조적 변화는 오래 전에 이루어졌으며 위에서 언급 한 것입니다. 스택리스는 이제 안정적이고 성숙했으며 지난 몇 년 동안 코드베이스를 약간만 수정했습니다.
Stackless의 마지막 제한 사항-Stackless에 대한 강력한 지지자는 없습니다. Tismer는 이제 Python for Python의 구현 인 PyPy에 깊이 관여하고 있습니다. 그는 PyPy에서 Stackless 기능을 구현했으며 Stackless 자체보다 훨씬 우수하다고 생각하며 PyPy가 미래의 길이라고 생각합니다. Tew는 Stackless를 유지하지만 옹호에 관심이 없습니다. 나는 그 역할을하는 것을 고려했지만 그로부터 수입을 얻는 방법을 알 수 없었습니다.
Stackless에서 교육을 받고 싶다면 언제든지 저 에게 연락하십시오 ! :)