The speed difference is because Julia doesn't specialize for specific types 
for keyword arguments, and type unstable code creates really slow loops in 
Julia.

Thanks for reporting, I'll work on a fix.

mandag 2. mars 2015 09.09.04 UTC+1 skrev antony schutz følgende:
>
> Hi Steven,
>
> Thanks for your answer but my question is a bit different.
> I'm not asking about creating a mesh grid and how or why doing it. 
> My question is more "naive": 
> Why the first method is faster than the 2 with only (well written) 1 line 
> command.
>
> and a more general question is: why "repeat" is slower than "repmat"   , 
> for example: 
>
> *tic(); repmat([1:10],1000,1000); toc()*
>
> elapsed time: 0.035878247 seconds
>
>
> *tic(); **repeat([1:10],outer=[1000,1000]);** toc()*
>
> elapsed time: 1.176858309 seconds
>
> Thanks
>
>
> Le vendredi 27 février 2015 15:11:10 UTC+1, antony schutz a écrit :
>>
>> Hello, 
>>
>> I have a question about the best way to implement a grid similar to a 
>> mesh grid: 
>> My first intuition was to do the following: 
>>
>> nx = 256
>> nb = 195
>>
>> kx = [-nx/2:-1+nx/2]
>>
>> tic()
>> k1   = repmat(kx,1,nx)
>> k1v = vec(k1)'#/nx
>> k1m = repmat(k1v,nb,1)
>> toc()
>> # 0.0256 sec 
>>
>> Then I tried in one operation the following: 
>> tic()
>> ka = repeat(kx,outer=[nx,nb])'# reshape( 
>> repeat(repeat(kx,inner=[nb]),outer=[nx]) ,nb,nx*nx )
>> toc()
>> # 0.477
>>
>> Does somebody knows why the repeat is ~20 times slower than the 
>> repeat/vec/repmat 
>> Is it the best way to do this ?
>>
>> Thanks in advance
>>
>> Bests.
>>
>> Antony
>>
>>

Reply via email to