Відео
- Огляд нових фіч в Python 3.6
Статті
-
Визначаємо кількість кадрів в відео за допомогою OpenCV і Python
-
Як додати власний спосіб автентифікації для Django REST Framework
Релізи
Інструменти
- Thonny - Python IDE для початківців
- Grumpy - експериментальный Python runtime для мови Go
Однією з основних цілей проекту є забезпечення високого рівня сумісності з CPython і досягнення можливості застосування Grumpy в якості повноцінної заміни Python runtime для проектів на мові Python. Код транслятора написаний на мові Python.
Grumpy націлений на використання в якості прозорої заміни CPython 2.7 і дозволяє вирішити проблеми з поганою роботою CPython в умовах обробки масових паралельних запитів. Зокрема, однією з поставлених перед Grumpy завдань була оптимізація роботи API YouTube, написаного на Python. Grumpy не формує байткод і не використовує віртуальну машину. На виході генерується набір звичайних вихідних текстів на мові Go, які потім можуть бути перетворені в машинний код за допомогою штатного компілятора Go. В отриманих після компіляції вихідних текстах продовжують використовуватися специфічні для Python структури даних, але реалізація структур оптимізована для гарної масштабованості в умовах масової паралельної обробки даних.
Grumpy позбавлений ключової проблеми Python - GIL (Global Interpreter Lock), що не допускає паралельного виконання декількох потоків коду. Grumpy також використовує збирач сміття Go для управління життям об'єктів замість застосовуваної в Python системи на основі підрахунку посилань. У поєднанні з компіляцією в виконуваний код, подібні поліпшення дозволяють домогтися істотного приросту продуктивності. Рівень масштабованості Grumpy добре демонструє нижченаведений графік, що відображає результати проходження тесту продуктивності Fibonacci:
{full-post-img}
Ще немає коментарів