Sto dando Julia un andare e risolvere i problemi Code Jam, in questo caso Rope Intranet da 1C rotondo 2010 (https://code.google.com/codejam/contest/619102/dashboard)Julia file di input velocità di lettura
Solution è fondamentalmente:
for tc = 1:int(readline())
n = int(readline())
a = [map(int, split(readline())) for _ = 1:n]
ans = 0
for (i, x) in enumerate(a)
for y in a[i + 1:end]
ans += (x[1] - y[1]) * (x[2] - y[2]) < 0
end
end
println("Case #", tc, ": ", ans)
end
Tuttavia, risultati in tempo per il grande ingresso non sono molto impressionanti confronto con soluzioni in C++ e Python:
julia
real 0m6.196s
user 0m6.028s
sys 0m0.373s
c++
real 0m0.392s
user 0m0.338s
sys 0m0.053s
pypy
real 0m0.529s
user 0m0.507s
sys 0m0.016s
situazione cambia, quando sostituisco ingresso file con numeri casuali (ancora più lento di C++ però):
julia
real 0m3.065s
user 0m2.868s
sys 0m0.338s
c++
real 0m1.413s
user 0m1.348s
sys 0m0.055s
pypy
real 0m22.491s
user 0m22.257s
sys 0m0.160s
C'è un modo per ottimizzare i tempi di lettura del file a Julia (sto usando v0.3.7)?
Grazie, questo mi ha portato a 'reale \t 0m1.116s'. Ma non vedo alcun guadagno dal mettere il codice in una funzione sulla mia macchina. – frost
Inoltre, forse lo troverai utile, 'time cat A-large-practice.in | julia A.jl' è circa 0.15ms più lento di 'time julia A.jl
frost