This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Change to search_n


Dimitris Xochellis wrote:

I would recommend to first concentrate on improving
the "generic" performance of your core algorithm and
test it intensively. Then test it again with a variety
of iterators, a variety data types and a variety of
data distributions. Compare it a lot with my
implementation. You can download my performance tests
from CodeProject and use them to compare the two
algorithms.

After ensuring that your core algorithm is at least as
fast as mine (there is no sense in re-implementing a
slower version of a piece of free code that already
exists!) then (and only then) is the time to worry
about backward prefetchers in "exotic" targets and do
specializations for N=2, N=3, N=4 etc. In my opinion,
it is essential that you first work a lot more with
your generic/core algorithm.


Thanks Dimitri for your interesting feedback.

I feel compelled to point out two things:
1- Personally, as a maintainer of libstdc++-v3, I have nothing against you and Chris merging and submitting your work together. Nobody decided that Chris implementation was better than yours, or something like that. Simply, you did *not* show up on the list, whereas Chris did! Is this clear? Why don't you file a Copyright Assignment and start contributing first person to the project, I wonder?!?
2- About "backward prefetchers" and all that, those are concerns which are generally valid - that is, both for your and Chris implementations, of course - and *in principle* are critical concerns, that *in principle* can fundamentally undermine the relevance of this entire class of algorithms for a portable implementation.


Reading your message, together with very interesting technical remarks, I read between the lines that 1- and 2- above are not at all obvious to you. I may be wrong, of course...

Paolo.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]