From f4de0526b31dc53144c298e2d6e51d70c9679252 Mon Sep 17 00:00:00 2001 From: Christopher Rackauckas Date: Mon, 19 Apr 2021 14:37:53 -0400 Subject: [PATCH] Optimize the Julia code The Julia code was very unoptimized so I did a few changes. BTW, why is the `a_list` passed in as a `Vector{Any}`? --- list_julia.jl | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/list_julia.jl b/list_julia.jl index 0a1de23..d14c340 100644 --- a/list_julia.jl +++ b/list_julia.jl @@ -3,9 +3,9 @@ using PyCall function iterate_list(a_list::Vector{Vector{Float64}}) count = 0.0 - for i in 1:length(a_list) + @inbounds for i in 1:length(a_list) internal_list = a_list[i] - for j in 1:length(internal_list) + @simd for j in 1:length(internal_list) count += internal_list[j] end end @@ -16,10 +16,10 @@ end function make_list(a_list::Vector{Any}) convert(Vector{Vector{Float64}}, a_list) - for i in 1:10^4 - new_list::Vector{Float64} = [] - for j in 1:10^4 - push!(new_list, 0.01) + @inbounds for i in 1:10^4 + new_list = zeros(10^4) + @simd for j in 1:10^4 + new_list[j] = 0.01 end push!(a_list, new_list) end