66 Commits

Author SHA1 Message Date
Richard Thier
7d407000fe added pre-randomized sorts (not so great so far - probably too much cache misses) 2025-10-01 16:49:00 +02:00
Richard Thier
d43b55f065 thier3: added mlock/munlock for array and its temporary (you can turn this off) 2025-10-01 04:36:18 +02:00
Richard Thier
ccdf991824 Revert "tpxb: 16-wide manual unroll - but it does not seem to be faster"
This reverts commit 6d794612624b445c8e4dae4ea3ee3b42b6a4c92f.
2025-10-01 04:26:44 +02:00
Richard Thier
6d79461262 tpxb: 16-wide manual unroll - but it does not seem to be faster 2025-10-01 04:02:08 +02:00
Richard Thier
036725611b removed non-temporal writes as too random patterns for it 2025-10-01 03:24:08 +02:00
Richard Thier
08cb90bb1b Revert "prepared for flame graph analysis"
This reverts commit ac873f7123c0dd23ff9d73668e005c71944a8afa.
2025-09-30 22:18:10 +02:00
Richard Thier
52fc14b0f6 Revert "thier3: write caching queues fixed - bug just makes it slower despite less cache misses"
This reverts commit 967c7c19b54fd0db820bbfa1cbe199a8ac9f5419.
2025-09-30 22:17:30 +02:00
Richard Thier
967c7c19b5 thier3: write caching queues fixed - bug just makes it slower despite less cache misses 2025-09-30 22:12:22 +02:00
Richard Thier
ac873f7123 prepared for flame graph analysis 2025-09-30 17:19:47 +02:00
Richard Thier
7ca9a19c5d tests for thier3 - works and very fast 2025-09-29 18:18:37 +02:00
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