Stackless Python

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
Stackless Python
Тип реалізація мови програмуванняd
діалект[d] і інтерпретатор
Версії 3.8.1-slp (12 серпня 2021)[1]
Операційна система Linux
Мова програмування Python[2] і C[3]
Ліцензія Python Software Foundation License
Репозиторій github.com/stackless-dev/stackless
Вебсайт github.com/stackless-dev/stackless/wiki

Stackless Python, чи просто Stackless — версія інтерпретатора мови програмування Python, названа так через відмову від використання стандартного стека викликів мови Сі на користь власного стека. Особливістю Stackless є мікропотоки (англ. Microthreads), які дозволяють уникнути надмірної витрати системних ресурсів, що властиво стандартним потокам операційної системи[4].

Є вдосконаленою версією інтерпретатора Python, Stackless дозволяє програмісту користуватися перевагами багатопотокового програмування без зниження продуктивності на примітивах синхронізації[5].

На додаток до стандартних можливостей Python, Stackless додає підтримку співпрограм, комунікаційних каналів і серіалізації завдань.

Мікропотоками інтерпретатор Stackless управляє самостійно. Це сприяє зменшенню додаткових витрат системних ресурсів на потоки і може значно зменшити навантаження центрального процесора в деяких ситуаціях, коли кількість потоків дуже велика.

Через значну кількості змін до вихідних текстів оригінального CPython Stackless не може встановлюватися як бібліотека або розширення інтерпретатора, тому він поширюється як окремий інтерпретатор Python.


Примітки[ред. | ред. код]

  1. Release v3.8.1-slp — 2021.
  2. The stackless Open Source Project on Open Hub: Languages Page — 2006.
  3. https://www.openhub.net/p/stackless/analyses/latest/languages_summary
  4. Stackless-Python — Stackless-Python 3.6.8 documentation. stackless.readthedocs.io. Архів оригіналу за 9 лютого 2019. Процитовано 9 лютого 2019.
  5. Stackless Python и Concurrence. habr.com (рос.). Архів оригіналу за 9 лютого 2019. Процитовано 9 лютого 2019.

Джерела[ред. | ред. код]

  1. Cameron Laird, Introduction to Stackless Python [Архівовано 10 квітня 2018 у Wayback Machine.]
  2. About Stackless Python on Ohloh
  3. This is the port of Python programming language to the Sony PSP console [Архівовано 4 вересня 2018 у Wayback Machine.]
  4. stackless-python [Архівовано 22 жовтня 2020 у Wayback Machine.] на GitHub

Посилання[ред. | ред. код]