求助:julia处理文本,采用几乎同样的写法,比python慢很多,该如何优化

const a=ARGS[1]
function uniq(a::String):String
for l::String in eachline(a::String)
if startswith(l::String,“##”)
continue
else
d=split(l,“\t”)::Array{SubString{String},1}
dd=d[10:end]
for i::Int in 1:33
if split(dd[i],“:”)[1]!=“./.” && split(dd[i],“:”)[1]!=“0/0”
println(l)
break
end
end
end
end
end
uniq(a)

几点建议:

  1. 使用 Markdown 书写代码
  2. 提供一个示例文本
  3. 提供一段对应的 Python 代码
    最好提供一个性能对比

有可能是你算法的原因,可能你没注意到一些操作会实现传值而不是传引用,还有可能Julia的速度在处理大数据时才能明显体现

数据量很大了,大概30G,python 19min 完成,Julia 需要30min