Certainly do file an issue with an easy to produce test case. I am pretty 
sure we have not paid much attention to sortrows, and there is room for 
improvement.

-viral

On Sunday, January 18, 2015 at 5:30:38 PM UTC+5:30, Tim Holy wrote:
>
> If you can reduce this to a standalone, runnable test case that uses only 
> code 
> from Base, it would be helpful to file an issue. 
>
> --Tim 
>
> On Saturday, January 17, 2015 05:36:36 PM Arch Call wrote: 
> > Give alg=MergeSort a whirl.  The doc says this is slower than 
> alg=QuickSort 
> > for numeric arrays, but who knows until you try. 
> > 
> > On Saturday, January 17, 2015 at 4:57:20 PM UTC-5, Petr Krysl wrote: 
> > > Hi guys, 
> > > 
> > > This one has me scratching my head. 
> > > 
> > > Matlab code: 
> > > 
> > > function  Out  =myunique(A) 
> > > 
> > >     sA=sort(A,2); 
> > >     [sA,rix]  = sortrows(sA);; 
> > >     d=sA(1:end-1,:)~=sA(2:end,:); 
> > >     ad=[true; any(d,2)]; 
> > >     iu =find((ad&[ad(2:end);true])==true); 
> > >     Out =A(rix(iu),:); 
> > > 
> > > end 
> > > 
> > > was rewritten in Julia. Since some of the functionality is different 
> (or 
> > > slower) as written, I had to rewrite a bit.  The surprise was that 
> even 
> > > after the rewrite the Julia code runs in around 24 seconds whereas the 
> > > Matlab code gets it done in two seconds.  As I went poking around to 
> find 
> > > what is slow, I found that 95% of the time were spent in the sort() 
> and 
> > > sortrrows() functions. 
> > > 
> > > Any idea of what could cause this slowness? By the way, @code_warntype 
> > > gives the code a clean bill... So are those two functions somehow slow 
> by 
> > > themselves? 
> > > 
> > > The Julia version of this  is posted at 
> > > https://gist.github.com/PetrKryslUCSD/cde67dfa0f1b0a1f98ac 
> > > 
> > > Thanks, 
> > > 
> > > Petr 
>
>

Reply via email to