Stackless Python
Stackless Python, чи просто Stackless — версія інтерпретатора мови програмування Python, названа так через відмову від використання стандартного стека викликів мови Сі на користь власного стека. Особливістю Stackless є мікропотоки (англ. Microthreads), які дозволяють уникнути надмірної витрати системних ресурсів, що властиво стандартним потокам операційної системи[4].
Є вдосконаленою версією інтерпретатора Python, Stackless дозволяє програмісту користуватися перевагами багатопотокового програмування без зниження продуктивності на примітивах синхронізації[5].
На додаток до стандартних можливостей Python, Stackless додає підтримку співпрограм, комунікаційних каналів і серіалізації завдань.
Мікропотоками інтерпретатор Stackless управляє самостійно. Це сприяє зменшенню додаткових витрат системних ресурсів на потоки і може значно зменшити навантаження центрального процесора в деяких ситуаціях, коли кількість потоків дуже велика.
Через значну кількості змін до вихідних текстів оригінального CPython Stackless не може встановлюватися як бібліотека або розширення інтерпретатора, тому він поширюється як окремий інтерпретатор Python.
Примітки
- ↑ Release v3.8.1-slp — 2021.
- ↑ 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.
Джерела
- Cameron Laird, Introduction to Stackless Python
- About Stackless Python on Ohloh
- This is the port of Python programming language to the Sony PSP console
- stackless-python на GitHub
Посилання
- Офіційний сайт
- 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.