Оптимизации, сделавшие Python 3.6 быстрее Python 3.5
Различные оптимизации сделали Python 3.6 быстрее Python 3.5. Давайте разберём, что и как было сделано.
Python 3.6 превосходит любую другу версию во многих тестах производительности. Мы познакомимся с результатами тестов на Python 2.7, 3.5 и 3.6.
Формат байткода и инструкции вызова функций были изменены для ускорения его исполнения. Новое соглашение «быстрого вызова» для C было добавлено, чтобы избежать создания временных кортежей и словарей. Метод разбора аргументов был оптимизирован с использованием внутреннего кеша. Операции над байтами, а также кодировками типа UTF-8 были оптимизированы благодаря новому API для создания байтовых объектов. Некоторые части asyncio были переписаны на C, чтобы получить до 25% ускорения. Функция PyMem_Malloc() теперь использует быстрый распределитель pymalloc, также предлагая небольшое увеличение скорости.
Python 3.6 превосходит любую другу версию во многих тестах производительности. Мы познакомимся с результатами тестов на Python 2.7, 3.5 и 3.6.
Формат байткода и инструкции вызова функций были изменены для ускорения его исполнения. Новое соглашение «быстрого вызова» для C было добавлено, чтобы избежать создания временных кортежей и словарей. Метод разбора аргументов был оптимизирован с использованием внутреннего кеша. Операции над байтами, а также кодировками типа UTF-8 были оптимизированы благодаря новому API для создания байтовых объектов. Некоторые части asyncio были переписаны на C, чтобы получить до 25% ускорения. Функция PyMem_Malloc() теперь использует быстрый распределитель pymalloc, также предлагая небольшое увеличение скорости.
Категории
Язык
Интерпретатор
Уровень
Мероприятие
Аспект языка
На заметку
Зарегистрированные пользователи могут публиковать свои Статьи.