Python 2.7 на App Engine, simplejson против родного json, кто быстрее? - PullRequest
9 голосов
/ 19 ноября 2011

Я понял, что simplejson намного быстрее нативного json в Python, такого как этот поток: Чем отличаются модули Python от json и simplejson?

Тем не менее, я был просто зациклен на чтении документации по App Engine, которая с Python 2.7

Использует собственную библиотеку JSON, которая намного быстрее, чем simplejson.

http://code.google.com/appengine/docs/python/python27/newin27.html

Так что теперь я в замешательстве. Везде, где-то еще говорят, что simplejson лучше, но теперь App Engine с Python 2.7 говорит, что натив быстрее. Что дает?

Ответы [ 2 ]

23 голосов
/ 19 ноября 2011

До выпуска среды исполнения Python 2.7 почти каждый модуль, включенный в App Engine, и буквально каждый модуль, который вы могли включить самостоятельно, были чистым Python.В версии 2.7 модуль json включает ускорения, написанные на C, что делает его намного быстрее, чем любые simplejson, которые вы можете запускать в App Engine.

Преимущества использования simplejson в 2.7 вы получаете обычно(в основном имеющая версию, которая была новее, чем была при выпуске последней версии Python 2.7), не применяется, поскольку вы не можете скомпилировать ускорения в последней версии и развернуть их в App Engine.

4 голосов
/ 19 ноября 2011

Я обнаружил, что вынужден сделать прямую import json, когда перешел на python 2.7. В моем приложении я должен был перейти от simplejson к этому. Возможно, вы посчитаете целесообразным поддерживать максимальную совместимость с вашим «основным компонентом», и я считаю python 2.7 одним из основных вариантов использования / компонентов моего проекта, где другие - Jinja2, WTForms и переводы i18n.

...