App Engine上的Python 2.7,simplejson和原生json,哪个更快?

9 投票
2 回答
5231 浏览
提问于 2025-04-17 06:38

我一直以为simplejson比Python自带的json要快,比如这个讨论:

json和simplejson模块在Python中的区别是什么?

不过,当我在App Engine的文档中看到关于Python 2.7的说明时,我感到很困惑:

使用的是自带的JSON库,它比simplejson快得多。

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

所以我现在很困惑。其他地方似乎都说simplejson更好,但现在App Engine在Python 2.7中却说自带的更快。这是怎么回事呢?

2 个回答

4

我在迁移到 Python 2.7 的时候,不得不直接使用 import json。在我的应用中,我需要把简单的 simplejson 替换成这个。一般来说,保持和你“主要组件”的最大兼容性是比较推荐的,而我认为 Python 2.7 是我项目中一个主要的使用组件,其他的组件还有 Jinja2、WTForms 和国际化翻译。

23

在Python 2.7版本发布之前,App Engine自带的几乎所有模块,以及你自己可以添加的模块,都是纯Python写的。而在2.7版本发布后,json模块里加入了一些用C语言写的加速代码,这让它的速度比你在App Engine上能用的任何simplejson都要快。

在2.7版本中使用simplejson的好处(主要是它的版本比Python 2.7最新发布时的版本更新)不再适用,因为你无法将最新版本中的加速代码编译并部署到App Engine上。

撰写回答