gpt4 book ai didi

python - 为什么 Julia 在解码 GZIP 和解析 JSON 时很慢?

转载 作者:行者123 更新时间:2023-11-28 20:45:34 24 4
gpt4 key购买 nike

以下脚本逐行读取 gzip 文件并解码 JSON 对象

Pkg.add("GZip")
Pkg.add("JSON")


using GZip
using JSON

stream = GZip.gzopen(Base.ARGS[1])

_started = time()

i = 0

for line in eachline(stream)
_j = JSON.parse(line)

if i % 10000 == 0
println(time()-_started)
end

i += 1

try
key_id = _j["some_id"]
except
pass
end
end

输出:

0.7071459293365479
20.09155511856079
37.8870849609375

与 Python 比较:

import os
import sys
import gzip
import datetime

import ujson as json

_started = datetime.datetime.now()

fh = gzip.open(sys.argv[1])
for i, line in enumerate(fh):

if i % 10000 == 0:
print datetime.datetime.now() - _started

line = json.loads(line)
try:
k = line['some_id']
except:
pass

输出:

0:00:00.028951
0:00:01.934277
0:00:03.821954
0:00:05.713572

是的,我知道,我使用的 ujson 确实很快——但 Julia 不应该更快吗?相反,它慢得多 =(

附言尝试了很多次,所以它与操作系统缓存或其他无关。

附言Mac 操作系统 10.7.3,Julia 0.2.1

最佳答案

隔离 JSON 和 GZIP 操作是一个很好的建议。我的猜测(只是一个猜测!)是大部分时间都在 JSON 解析中; ujson 确实很快。无法保证语言中发生的一切都是快速的。例如,PyPy 通常会大大加快 python 代码的速度,但在某些情况下仍然很慢,或者比 C 扩展慢。

关于python - 为什么 Julia 在解码 GZIP 和解析 JSON 时很慢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23135790/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com