2011-03-01 83 views
1

我一直在python 2.6中使用json模塊,但速度很慢。我想使用更快的實現。我見過cjson,但似乎開發並沒有關注,並且api與json模塊不同。我也讀過一些關於加速json的評論。如何在Python中加速json解碼和編碼操作?

任何想法?

+2

http://stackoverflow.com/問題/ 706101/python-json-decoding-performance – Orbit 2011-03-01 18:35:57

+0

謝謝。在我的Linux安裝中,我有json。 simplejson和_json。只有最後一個似乎用C寫成。 – 2011-03-01 18:41:10

+0

這是2.6中的一個已知問題,並且已經修復。此問題與[Orbit](http://stackoverflow.com/users/369591/orbit)記錄的http://stackoverflow.com/questions/706101/python-json-decoding-performance相同,應該關閉。看到很多基準數據的問題。 – smci 2013-04-26 11:59:12

回答

7

most recent versions of simplejson比python 2.6內建的要快得多,並且具有相同的API。如果你希望你的Python代碼繼續未安裝simplejson即使工作,試試這個:

try: 
    import simplejson as json 
except ImportError: 
    import json 

參見:

http://bugs.python.org/issue6013

http://bugs.python.org/issue7451

+0

但是simplejson._speedups模塊呢?它是默認使用還是需要做更多的事情? – 2011-03-01 19:50:00

+0

如果您在受支持的平臺上構建並安裝當前版本的simplejson,則會自動使用加速。 – 2011-03-01 23:32:45

1

對於編碼,您可以使用iterencode。它爲字符串使用較少的內存,因此序列化非常大的數據結構所花的時間要少得多。