Найти - Пользователи
Полная версия: Stackless Python
Начало » Флейм » Stackless Python
1
niro
Поведайте что нибудь о этой реализации Python. Вот из википедии:
Предоставляет расширенные возможности многопоточного программирования и значительно большую глубину рекурсии. На некоторых задачах несколько быстрее CPython.
Мне вот стало интересно - онлайн игра Eve-online была написана целиком на этой реализации(из wikipedia: для написания сервера и клиента использован Stackless Python). Также исходя из системных требований (Pentium III - 700 MHz, 256 Мб RAM, 32 Mb 3D-ускоритель совместимый с DirectX 9, 1 Gb на жестком диске) игра достаточно шустрая. Вот вопрос - как ? Это позволяет делать Stackless Python ?
Андрей Светлов
Писал я на нем.
Во первых - на 5% медленней обычного Питона.
Во вторых - Ева писана таки еще и на С++. Критический код - на плюсах. И stackless тут не при чем.
Он позволяет заводить тасклеты и каналы взаимодействия между ними. Переключение между потоками - явное.
Т.е. невытесняющая многопоточка. Поскольку потоки не системные - их можно держать хоть миллион.

Минусы:
- необходимость использовать явное переключение потоков.
- нужно использовать специализированную версию Питона. И меня вроде бы все работало нормально. Знакомые жаловались на проблемы с некоторыми extesion modules и stackless.

Есть проект py.greenlet из py lib, который делает то же - но на обычном Питоне.

И, самое главное, с генераторами из 2.5 создание специализированных вещей кажется ненужным. Все можно сделать на них.
ИМХО.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB