Ответ 1
Вряд ли. Приложение Django почти всегда связано с I/O-привязкой, обычно из-за подключения к базе данных. PyPy не помог бы с этим вообще, даже если он был полностью совместим (что я не уверен, что это так).
Есть ли некоторые причины использования Django с PyPy? Я читаю, что PyPy увеличивает производительность.
Вряд ли. Приложение Django почти всегда связано с I/O-привязкой, обычно из-за подключения к базе данных. PyPy не помог бы с этим вообще, даже если он был полностью совместим (что я не уверен, что это так).
Зависит.
PyPy повышает производительность всех тестов, которые находятся в наборе тестов PyPy. На данный момент это только показ шаблонов, но никто ничего не представил. Однако можно с уверенностью предположить, что критический код производительности будет быстрее (особенно после некоторой настройки).
Совместимые базы данных - это немного проблема, потому что работает только sqlite, и она медленная (есть ветка, чтобы исправить ее, хотя). Люди также сообщили, что pg8000 работает с sqlalchemy, например, но у меня нет непосредственного опыта.
Cheers, fijal
Я провел несколько экспериментов с PyPy + Django. Существуют две основные проблемы:
Большинство адаптеров баз данных и других сторонних модулей не могут быть скомпилированы с помощью PyPy (даже если вики говорят, что могут).
Один сервер, который, как я думал, мог бы извлечь выгоду из компиляции JIT, потому что в некоторых запросах имело место увеличение объема памяти, возможно, потому, что JIT хранит следы, которые оказались уникальными для каждого запроса, поэтому никогда не использовались повторно
Теоретически PyPy может быть победой, если ваш сервер делает интересные вычисления, использует модули pure-python и имеет большое количество объектов в памяти (поскольку PyPy может уменьшить память, используемую для каждого объекта в некоторых случаях). В противном случае более высокие требования к памяти JIT будут препятствием, поскольку это уменьшает возможности для кэширования в памяти и может потребовать от дополнительных серверов для запуска достаточного количества серверных процессов.