56 Commits

Author SHA1 Message Date
Richard Thier
86f81d2a1c minor threepass optimizations and thier2 variant that uses threepass (but does unnecessary work in that case: allocation, extra copies, extra step for partitioning, etc) 2025-09-29 03:31:06 +02:00
Richard Thier
a17b284c8a added three-plus-one pass radix which performs very well, but there is 0.8 ILP only because of lot of cache misses. worse perf on random than magyarsort, but better than ska_copy and best worst cases - might hook into thier2? 2025-09-29 02:24:50 +02:00
Richard Thier
dcef96fee8 512-bucketed thiersort2 2025-09-27 01:24:18 +02:00
Richard Thier
5fc08c6fae unlikely optimization in thiersort + measurements 2025-09-12 02:25:57 +02:00
Richard Thier
5a8f34efa0 fixed thiersort2 2025-09-12 01:42:11 +02:00
Richard Thier
a3643eba9b added thiersort2 - better than std, somewhat similar to schwab in perf but is a bucket sort - very interestingly not huge boost in bucketing speed 2025-09-11 20:42:04 +02:00
Richard Thier
85aaf4b1a1 testing schwab_sort 2025-05-09 01:10:12 +02:00
Richard Thier
707ab1eb81 neoqs, meanqs and various quicksort variants 2025-05-06 03:06:37 +02:00
Richard Thier
b2c4e7082b mormord ILP-variant "nearly sorting properly" but some values buggy 2024-04-12 01:09:59 +02:00
Richard Thier
b2d66b7fd0 some fixes for mormord-ilp-richi 2024-04-12 00:37:50 +02:00
Richard Thier
23a5bb1d55 mormordsort ILP version by me - with probably lot of bugs 2024-04-11 23:59:13 +02:00
Richard Thier
0f716e912c bit_partition function added - its like quicksort, but different 2024-04-11 21:43:18 +02:00
Richard Thier
3f0ae7ae77 Revert "mormord sort more branchless plus extra edge-case handling for empty sized calls" - speed was not great...
This reverts commit 2d2cad2c5a4fbae0d2f008b4164ffb1a49ba3a88.
2024-04-11 20:02:23 +02:00
Richard Thier
9894f6c6d4 Revert "less branchless mor... not good I think"
This reverts commit 8e8d4257bc8c62064eee677788a81c6b42d9a796.
2024-04-11 19:58:08 +02:00
Richard Thier
8e8d4257bc less branchless mor... not good I think 2024-04-11 19:57:58 +02:00
Richard Thier
3f4b17f0ef Revert "more branchless mormord - slower"
This reverts commit f4ceffe6e248b7f97763b59a200c303a77ef2836.
2024-04-11 19:54:07 +02:00
Richard Thier
f4ceffe6e2 more branchless mormord - slower 2024-04-11 19:53:58 +02:00
Richard Thier
2d2cad2c5a mormord sort more branchless plus extra edge-case handling for empty sized calls 2024-04-11 19:45:30 +02:00
Richard Thier
d16505a297 mormordsort got template recursion for 33% speedup (I think it still has 2x maybe) 2024-04-11 19:00:52 +02:00
Richard Thier
ae2cd09452 removed unecessary mormordsort if 2024-04-11 17:52:58 +02:00
Richard Thier
32e98de308 Revert "mormord sort further optimizations (for me slower - btw it might need to be called mormord-prenex-magyarsort at this point? I added a lot to it tbh like copied parts of thiersort for this to work)"
This reverts commit bccb1d070333a2d67eeba548bf8dca1db9b67fa5.
2024-04-11 17:19:10 +02:00
Richard Thier
bccb1d0703 mormord sort further optimizations (for me slower - btw it might need to be called mormord-prenex-magyarsort at this point? I added a lot to it tbh like copied parts of thiersort for this to work) 2024-04-11 17:18:39 +02:00
Richard Thier
02bad1f59f minor optimization on mormord sort 2024-04-11 16:59:09 +02:00
Richard Thier
b2d700f127 mormord sort - working version, slow on random input for me 2024-04-11 16:41:08 +02:00
Richard Thier
55583bcb4a mormordsort - buggy version (I actually think its some of the Magyarsort 2.x in this form - but needs fixing 2024-04-11 06:13:51 +02:00
e3c229337c debug 2023-07-02 15:56:21 +02:00
Richard Thier
1c32648026 wip: debugging - should be reverted? 2023-07-02 13:33:27 +02:00
Richard Thier
259ae1e540 debug log for differences - I found nearby each elements to differ in this test! 2023-07-01 06:48:38 +02:00
Richard Thier
880fb7e991 with -g it seems there is some error actually... 2023-07-01 06:37:20 +02:00
Richard Thier
f7c025c0dd 100k test case 2023-07-01 05:01:00 +02:00
Richard Thier
4ad1c8b820 tested new thier and thier-qs and seems to work it looks like - constant is really slow because its the worst case for both (should be special-cased in my quicksort) 2023-07-01 04:50:32 +02:00
Richard Thier
79b95bf905 various bugs 2023-06-30 22:06:24 +02:00
Richard Thier
58176a89b6 thiersort apply fixes, my own qsort added to the algs, quicksort_fromto fix; thier still buggy on random data - but others seem to get handled by its quicksorts under the hood... 2023-06-30 18:00:44 +02:00
Richard Thier
9ac3a76209 more info for thiersort testing - seems like apply maybe has a bug 2023-06-30 17:00:37 +02:00
Richard Thier
96e9fb4440 add thiersort for testing - all kinds of crashes for now 2023-06-30 16:39:33 +02:00
88a8e87418 thiersort compile errors 2023-05-02 13:20:07 +02:00
Richard Thier
22d6631e24 added thiersort idea, measure magyar_bucket 1&2 2023-04-09 17:20:58 +02:00
Richard Thier
50b1997d5c little optimization to gpts and mine space partition bucket sort 2022-12-10 11:04:53 +01:00
Richard Thier
7e21807668 added gpt_bucket_sort made with conversing with chatGPT (GPT3 online chat) and added the chat as txt file too with prompts and how it was developed. There were multiple errors, but was interesting 2022-12-10 03:13:16 +01:00
Richard Thier
f8793f71ab more ILP in some nearly sorted bucket parts in spsort - rand still not good so much 2022-08-16 18:59:18 +02:00
Richard Thier
4bed99751f added feature to use profilers with algorithms more easily 2022-08-16 18:37:13 +02:00
Richard Thier
b1ab4f2f87 tested sp sort and works the first version. Slightly slower on random than std and sometimes slightly faster - but this version do copies that I should optimize out! 2022-08-16 16:00:02 +02:00
Richard Thier
6a0a2540bb re-add other test cases - now fails constant because infinite recursion to be fixed for spsort 2022-08-16 12:41:19 +02:00
Richard Thier
680936f50a still buggy sp code but differently... 2022-08-16 04:13:12 +02:00
Richard Thier
e83392ebaa added "sp" to tests - buggy for now, but at least in const works and inc nearly ok 2022-08-16 03:29:08 +02:00
Richard Thier
c77e592a84 mlocks and frewr algorithm both added 2021-12-19 21:55:48 +01:00
Richard Thier
a4d50c3309 input reduction for testing on less capable machines 2021-12-18 19:54:14 +01:00
Richard Thier
0b4eb5e5a6 minor speed tweaks by being able to define the counter type 2021-12-17 21:17:53 +01:00
Richard Thier
1686967f10 minor tweaks to 4pasu and added 4rot 2021-12-17 19:20:58 +01:00
Richard Thier
a878f20100 ypsus 4passu method optimized a bit 2021-12-15 16:09:40 +01:00