今天用python的******json庫解析乙個 >200mb 的json檔案,發現一次decode/encode都得要 >10s,這個在我開來,實在太慢了,有沒有更快的庫了?
直譯器******json
json
ujson
pypy
40s多
10s無
cpython
12s多
17s多
10s多
根據下面的benchmark,在double陣列的情況下,yajl的encode速度是比ultrajson的,所以,如果你的json檔案較小的話,其實無所謂哪個庫,如果是像我這樣的大json檔案,可以根據下面的表選擇合適的json庫。
下面是作者給出的benchmark:**中的數字是每秒的呼叫次數,也就是說,數字越大,表示效率越高。
versions:
ujson
yajl
******json
json
array with 256 doubles
encode
3508.19
5742.00
3232.38
3309.09
decode
25103.37
11257.83
11696.26
11871.04
array with 256 utf-8 strings
encode
3189.71
2717.14
2006.38
2961.72
decode
1354.94
630.54
356.35
344.05
array with 256 strings
encode
18127.47
12537.39
12541.23
20001.00
decode
23264.70
12788.85
25427.88
9352.36
medium complex object
encode
10519.38
5021.29
3686.86
4643.47
decode
9676.53
5326.79
8515.77
3017.30
array with 256 true values
encode
105998.03
102067.28
44758.51
60424.80
decode
163869.96
78341.57
110859.36
115013.90
array with 256 dict pairs
encode
13471.32
12109.09
3876.40
8833.92
decode
16890.63
8946.07
12218.55
3350.72
dict with 256 arrays with 256 dict pairs
encode
50.25
46.45
13.82
29.28
decode
33.27
22.10
27.91
10.43
dict with 256 arrays with 256 dict pairs, outputting sorted keys
encode
27.19
7.75
2.39
complex object
encode
577.98
387.81
470.02
decode
496.73
234.44
151.00
145.16
versions:
ujson
yajl
******json
json
array with 256 doubles
encode
3477.15
5732.24
3016.76
3071.99
decode
23625.20
9731.45
9501.57
9901.92
array with 256 utf-8 strings
encode
1995.89
2151.61
1771.98
1817.20
decode
1425.04
625.38
327.14
305.95
array with 256 strings
encode
25461.75
12188.64
13054.76
14429.81
decode
21981.31
17014.22
23869.48
22483.58
medium complex object
encode
10821.46
4837.04
3114.04
4254.46
decode
7887.77
5126.67
4934.60
6204.97
array with 256 true values
encode
100452.86
94639.42
46657.63
60358.63
decode
148312.69
75485.90
88434.91
116395.51
array with 256 dict pairs
encode
11698.13
8886.96
3043.69
6302.35
decode
10686.40
7061.77
5646.80
7702.29
dict with 256 arrays with 256 dict pairs
encode
44.26
34.43
10.40
21.97
decode
28.46
23.95
18.70
22.83
dict with 256 arrays with 256 dict pairs, outputting sorted keys
encode
33.60
6.94
22.34
complex object
encode
432.30
351.47
379.34
decode
434.40
221.97
149.57
147.79
Python更快的解析JSON大檔案
提出問題 今天用python的 json庫解析乙個 200mb 的json檔案,發現一次decode encode都得要 10s,這個在我開來,實在太慢了,有沒有更快的庫了?先給出我的簡單測試結果 json大小 245mb 測試方法 read檔案內容,然後一次decode,一次encode 直譯器 ...
python中的json解析
主要實現以下功能 解析 與構造json,即encoder and decoder 官方指導 中文教程 前者將obj轉化為json str,後者將str轉化為python物件,如果json字串是個object,轉化為dict,若是array則轉化為list json寫法 表示array的json字串 ...
python 解析多層json
原始檔案內容 channels 3 height 1080 width 1920 修改並儲存 coding utf 8 import os import json 獲取目標資料夾的路徑 filedir r j numberdata mrcnnhik test 獲取資料夾中的檔名稱列表 filenam...