Hi
I'm looking for some advice for some on writing methods on large
(memory-wise) data types. Is there an overhead difference in the following
two methods?
type State
hugearray1::Array{Float64, 2}
hugearray2::Array{Float64, 2}
... # Many more components
end
function style1!(s::State)
complicated_function(s.hugearray1)
end
function style2!(arr::Array{Float64, 2})
complicated_function(arr)
end
# difference in calls:
s = State(arr1, arr2, ...)
style1!(s) # Pretty but is it slower?
style2!(s.hugearray1) # Ugly but is it faster?
Basically, is there an overhead in throwing the whole state datatype into a
function even if i only manipulate one or two of the potentially large
amount of components or should I be making functions in the second style
where arguments are exactly of the type of the components being manipulated.
Thanks!
Nathan
ps: sorry for the double post, I hit enter before I finished writing..