Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- PyPy (http://pypy.org) - Python с динамической компиляцией, на многих задачах работающий во много раз быстрее CPython, см бенчмарки на их сайте: http://speed.pypy.org/
- В PyPy есть некоторые особенности, из-за которых JIT не может прооптимизировать функцию и из-за этого скорость этой функции получается такая же, как и в CPython, например, если есть смена типа для какой-то переменнной:
- a = 4; a = 'asdf'
- Правда, время от времени (с новыми релизами) все больше кода становится JIT - совместимым.
- У них также есть трейсер (типа профайлера), который позволяет видеть, где JIT сработал, а где - нет, и почему (чтобы можно было попробовать переписать код с незначительными исправлениями и сделать его JIT - совместимым), а также сколько времени потрачено на каждой функции, но я с этим тулом еще не работал (работал только с обычными профайлерами в CPython). Есть еще средства для вызова функций CPython в PyPy и наоборот.
- Главный недостаток PyPy - некоторые приложения, в основном использующие код С или других языков, с ним не совместимы (или имеют ограниченную функциональность), но с каждым очередным релизом ситуация улучшается.
- я запустил на своем коде, который написал на собеседовании с Игорем Савенко
- (считывание номеров и поиск по начальным цифрам)
- www.pastebin.com/nj8DHqbE
- там CPython потребляет 1.6 сек, PyPy - 0.6 ceк (Notebook Intel Atom 1.6 GHz).
- Если хотите, могу попробовать сравнить производительность CPython / PyPy на каком-то другом коде, приближенном к вашим реальным задачам с big data.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement