web-dev-qa-db-fra.com

Inconvénients de l'exécution Django sous PyPy?

Je comprends que Django, PyPy et Psycopg2 fonctionnent tous correctement ensemble, et speed.pypy.org revendique de grandes améliorations des performances par rapport à CPython. Y a-t-il des inconvénients?

34
jl6
  1. Prise en charge de la bibliothèque. Toutes les bibliothèques ne sont pas compatibles avec PyPy.

    Le mieux est d'essayer de lancer pypy manage.py test et voir s'il se casse. Vous savez alors quelles dépendances doivent être alignées.

    http://reinout.vanrees.org/weblog/2011/06/06/Django-and-pypy.html

  2. Serveurs Web

    Vous ne pouvez pas utiliser pypy avec Apache. Vous devez utiliser un serveur Web pur-python + nginx. Vous POUVEZ l'obtenir en travaillant sur uwsgi .

39
Thomas

Le PyPy wiki répertorie Django comme compatible, mais il n'entre pas dans les détails de la quantité de Django a été testée). Je ne connais pas de déploiement majeur Django qui exécute PyPy au lieu de CPython. Une meilleure question est de savoir pourquoi vous voudriez passer à PyPy pour un Django application, surtout que Django a été largement testé et déployé avec CPython.

PyPy convient aux tâches à forte intensité de calcul. Les applications Web ne le sont généralement pas. Le benchmark Django sur lequel ils basent leurs performances est essentiellement un benchmark de rendu de modèle qui est une tâche gourmande en CPU. Ce n'est pas représentatif de la plupart des applications web où le goulot d'étranglement a tendance à être des E/S. En tant que tel, PyPy peut ne pas accélérer votre site autant que ces graphiques vous le font croire.

11
CadentOrange