There's a sort.h library you should be able to include that will have quick
sort + many others, and will allow the compiler to properly inline
functions. https://github.com/swenson/sort (disclaimer: I wrote it). I get
about a 10x speed improvement over qsort just for the ability to inline
functions.

I've never used it with Cython, but I don't believe there should be any
problems doing so.
On Nov 23, 2014 10:11 AM, "Francesco Biscani" <bluesca...@gmail.com> wrote:

> On 23 November 2014 at 19:05, Thierry Dumont <tdum...@math.univ-lyon1.fr>
> wrote:
>>
>> Is gprof enough powerful with modern architectures on such programs? from
>> my point of view, no.
>> There are non free, commercial, tools like vtune which can do fantastic
>> measurement job. Vtune shows, for example, that a call to std::copy is not
>> as fast as a for loop, which is turned by the compiler in a memcopy
>> (probably std::copy is not!). I do not think we can see this with gprof.
>> But ok, you are not supposed to buy vtune...
>>
>
> I would be surprised if any modern c++ library implementation does not
> have specialisations of std::copy for POD types that use memcpy() or some
> other trick.
>
>
>> What about likwid https://code.google.com/p/likwid ? It is free. Did
>> somebody used it to measure cython code performances?
>>
>> Likwid (and Vtune) have in common to use  performance counters on Intel
>> and AMD processors (not sure for AMD with Vtune...).
>>
>> What is the size of what you are sorting ? If it is small enough to fit
>> in the caches, and better in the L1 cache, you can possibly improve
>> something with your modification, but otherwise it is certainly memory
>> bounded and you cannot do much...
>> You have to measure the bandwidth of your program. Vtune does this,
>> possibly likwid too.
>>
>
> I used callgrind() in the past with some success... I would like to try
> the google cpu profiler to see how it fares, but I haven't had the chance
> yet.
>
> --
> You received this message because you are subscribed to the Google Groups
> "sage-devel" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to sage-devel+unsubscr...@googlegroups.com.
> To post to this group, send email to sage-devel@googlegroups.com.
> Visit this group at http://groups.google.com/group/sage-devel.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.

Reply via email to