Using globals is also potentially bad style since it means that your functions 
aren't interpretable without additional context.

 -- John

> On Oct 24, 2014, at 10:36 AM, Johan Sigfrids <[email protected]> wrote:
> 
> Operating on global variables in Julia is generally slower so you should 
> definitely pass the array to the function. 
> 
>> On Friday, October 24, 2014 7:43:53 PM UTC+3, Nils Gudat wrote:
>> A general performance question: when writing functions that operate on a 
>> large number of variables stored in arrays, is it generally better to pass 
>> every array into the function or to let the function access the arrays in 
>> the global space?
>> 
>> Comparing
>> 
>> X = rand(10000)
>> 
>> function(a::Real)
>>     (some computation involving a and the values in an array X)
>> end
>> 
>> to
>> 
>> function(a::Real, X::Array)
>>    (the same computation)
>> end
>> 
>> I found that passing the array was marginally smaller on most occasions, but 
>> I'm wondering how general this result is and what it would depend on. Are 
>> there any rules/best practices for this?

Reply via email to