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... >>>>>>> >>>>>>> >>>>>> >>>> >>