Stackless Python
Stackless Python, чи просто Stackless — версія інтерпретатора мови програмування Python, названа так через відмову від використання стандартного стека викликів мови Сі на користь власного стека. Особливістю Stackless є мікропотоки (англ. Microthreads), які дозволяють уникнути надмірної витрати системних ресурсів, що властиво стандартним потокам операційної системи[4].
Тип |
реалізація мови програмуванняd діалект і інтерпретатор |
---|---|
Версії | 3.7.5-slp (20 жовтня 2019)[1] |
Репозиторій | github.com/stackless-dev/stackless |
Операційна система | Linux |
Мова програмування | Python[2] і C[3] |
Ліцензія | Python Software Foundation Licensed |
Вебсайт | github.com/stackless-dev/stackless/wiki |
Є вдосконаленою версією інтерпретатора Python, Stackless дозволяє програмісту користуватися перевагами багатопотокового програмування без зниження продуктивності на примітивах синхронізації[5].
На додаток до стандартних можливостей Python, Stackless додає підтримку співпрограм, комунікаційних каналів і серіалізації завдань.
Мікропотоками інтерпретатор Stackless управляє самостійно. Це сприяє зменшенню додаткових витрат системних ресурсів на потоки і може значно зменшити навантаження центрального процесора в деяких ситуаціях, коли кількість потоків дуже велика.
Через значну кількості змін до вихідних текстів оригінального CPython Stackless не може встановлюватися як бібліотека або розширення інтерпретатора, тому він поширюється як окремий інтерпретатор Python.
Примітки
- https://github.com/stackless-dev/stackless/releases/tag/v3.7.5-slp
- The stackless Open Source Project on Open Hub: Languages Page — 2006.
- https://www.openhub.net/p/stackless/analyses/latest/languages_summary
- Stackless-Python — Stackless-Python 3.6.8 documentation. stackless.readthedocs.io. Процитовано 9 лютого 2019.
- Stackless Python и Concurrence. habr.com (рос.). Процитовано 9 лютого 2019.
Джерела
Посилання
- Офіційний сайт
- Stephan Diehl. Programming with Stackless Python // Linux Magazine. — August 2007. — № 81. — С. 34—37.
- Cameron Laird (4 жовтня 2000). Introduction to Stackless Python (англ.). oreillynet.com. Архів оригіналу за 18 серпня 2012.