I assume you're on 0.3.x – this may simply be due to SubArrays kind of
sucking for performance. The new ArrayView stuff is much better.

On Fri, Jan 9, 2015 at 7:33 PM, Tomas Mikoviny <tomas.mikov...@gmail.com>
wrote:

> yes, that was my negligence, change type is first thing I usually check...
> however it has no significant impact on performance...
>
> I've got caught with some different things last days but continuing to
> play with online methods
>
> tm
>
> On Wednesday, January 7, 2015 at 7:49:43 PM UTC+1, Stefan Karpinski wrote:
>>
>> Try deleting the line where you initially assign to subset – it isn't
>> necessary and causes that variable to change type over the course of your
>> loop.
>>
>> On Tue, Jan 6, 2015 at 6:50 PM, Tomas Mikoviny <tomas.m...@gmail.com>
>> wrote:
>>
>>> Hi Stefan,
>>>
>>> you are right. But the moment I try to do this for any subset along the
>>> array it gets inefficient.
>>> Here is the simplest code for running median of one dimensional array.
>>> Time consuming...
>>>
>>> function runmed(input::Array, w::Int)
>>>     L = length(input)
>>>     output = zeros(input)
>>>     subset = zeros(w+1)
>>>     for i in 1:L-w
>>>         subset = sub(input, i:i+w)
>>> output[i] = median!(subset)
>>>     end
>>>     return output
>>> end
>>>
>>> a = zeros(300000);
>>>
>>> runmed(a, 200);
>>>
>>> @time runmed(a, 200);
>>> elapsed time: 1.460171594 seconds (43174976 bytes allocated)
>>>
>>>
>>> On Tuesday, January 6, 2015 10:10:39 PM UTC+1, Stefan Karpinski wrote:
>>>>
>>>> You may not need online methods at all. Sorting the rows of a 200 x
>>>> 300000 matrix doesn't take very long on my laptop:
>>>>
>>>> julia> X = randn(200,300000);
>>>>
>>>> julia> @time X = sortrows(X);
>>>> elapsed time: 0.297998739 seconds (480053384 bytes allocated)
>>>>
>>>>
>>>>
>>>>
>>>> On Tue, Jan 6, 2015 at 2:33 PM, Tomas Mikoviny <tomas.m...@gmail.com>
>>>> wrote:
>>>>
>>>>> Hi Kevin,
>>>>>
>>>>> generally I'm trying to do baseline correction on mass spectra with
>>>>> ~300000 bins. I've tried several algorithms to evaluate baseline but the
>>>>> ones working the best implement running median and mean. I've just got 
>>>>> mean
>>>>> sorted out via cumsum trick in coincidence with Tim's suggestion (found
>>>>> some MATLAB discussion on that). Although I'll check Tamas' suggestion 
>>>>> too.
>>>>>
>>>>> I've got stacked with running median that would have reasonable
>>>>> performance since computer has to crunch runmed of array of 200 x 300000
>>>>> within couple of seconds (max) to manage online analysis.
>>>>>
>>>>> On Tuesday, January 6, 2015 6:18:02 PM UTC+1, Kevin Squire wrote:
>>>>>>
>>>>>> Hi Tomas,
>>>>>> I'm bit aware of any (though they might exist). It might help if you
>>>>>> gave a little more context--what kind of data are you working with?
>>>>>>
>>>>>> Cheers,
>>>>>>    Kevin
>>>>>>
>>>>>> On Tuesday, January 6, 2015, Tomas Mikoviny <tomas.m...@gmail.com>
>>>>>> wrote:
>>>>>>
>>>>>>> Hi,
>>>>>>> I was just wondering if anyone knows if there is a package that
>>>>>>> implements *fast* running median/mean algorithms?
>>>>>>>
>>>>>>> Thanks a lot...
>>>>>>>
>>>>>>>
>>>>>>
>>>>
>>

Reply via email to