23.01.2018 06:34, Stephen Frost пишет: > Greetings, > > * Юрий Соколов (funny.fal...@gmail.com) wrote: >> On Wed, Nov 29, 2017 at 8:00 AM, Peter Geoghegan <p...@bowt.ie> wrote: >>> On Tue, Nov 28, 2017 at 2:41 PM, Andres Freund <and...@anarazel.de> wrote: >>>> Maybe it's a stupid question. But would we still want to have this after >>>> the change? These should be just specializations of the template version >>>> imo. >> >> "generic" version operates on bytes, and it will be a bit hard to combine >> it with >> templated version. Not impossible, but it will look ugly. > > If that's the case then does it really make sense to make this change..?
I don't think it is really necessary to implement generic version through templated. It is much better to replace generic version with templated in places where it matters for performance. > >> In attach fixed qsort_template version. >> And version for compactify_tuples with bucket_sort and templated qsort. > > While having the patch is handy, I'm not seeing any performance numbers > on this version, and I imagine others watching this thread are also > wondering about things like a test run that just uses the specialized > qsort_itemIds() without the bucketsort. > > Are you planning to post some updated numbers and/or an updated test > case that hopefully shows best/worst case with this change? Would be > good to get that on a couple of platforms too, if possible, since we've > seen that the original benchmarks weren't able to be consistently > repeated across different platforms. Without someone doing that > leg-work, this doesn't seem like it'll be moving forward. Updated numbers are (same benchmark on same notebook, but with new master, new ubuntu and later patch version) (average among 6 runs): master - 16135tps with templated qsort - 16199tps with bucket sort - 16956tps Difference is still measurable, but less significant. I don't know why. Rebased version of first patch (qsorted tamplate) is in atttach. With regards, Sokolov Yura.
0001-Header-for-customized-qsort.patch.gz
Description: application/gzip
signature.asc
Description: OpenPGP digital signature