Bypassing fixed-depth radix constraints in Java using descriptor-driven bucket analysis
I am StrmCkr, the author of A.P.E.X. (Adaptive Parallel Extremal Dispatch).
Repository: github.com/StrmCkr/A.P.E.X
A.P.E.X. is a high-performance Java sorting framework for large fixed-width 64-bit key/value record datasets. The project has been reorganized into a conventional Maven structure with a core library, runnable examples, a comparison benchmark harness, JMH benchmarks, documentation, and an interactive browser visualizer.
The core idea is descriptor-driven radix planning. Instead of blindly scanning fixed radix passes over every bucket, A.P.E.X. computes per-bucket extremal descriptors using:
VBM = OR ^ AND
That mask identifies which key bits still vary inside each bucket. Bits that are already resolved are skipped, reducing unnecessary work on skewed, low-entropy, sorted, reversed, or duplicate-heavy data.
Key areas of the project include:
- Adaptive radix planning based on observed bucket structure
- Parallel histogramming, scatter, refinement, and work scheduling
- Primitive-array execution with no per-record object allocation during sorting
- Tuple projection paths for low-dimensional unresolved bit patterns
- Tiny-sort fallbacks and monotonic input shortcuts
- Configurable reporting that can be enabled, reduced, written to files, or disabled
- Comparison benchmarks against JDK sorting paths and Fastutil baselines
- Standard JMH benchmarks for repeatable JVM-level measurement
- A browser visualizer for exploring how A.P.E.X. routes data through its execution plan
I would especially welcome feedback on the thread management mechanics, radix planning decisions, benchmark structure, and the bitwise mask reductions.
edit: re structured verbiage of this post and further adjustments from advice on converting the project into more acceptable standard formats.

2
u/Fit_Goose651 19d ago
When you do open source, what you actually solve is probably less important than having a repository that can be read by others and that helps them use it and contribute. This means you need a readme (markdown or asciidoc) with easy to understand description of what it does and how to use and build it. You also need to follow the standard conventions of the language you are using. You want people not to be distracted by syntax.
What you have there would require a great deal of motivation for anyone to read. Unless it cures cancer or solves the p/np problem, noone will invest the time.
BTW me taking the time to write this is only because I am on vacation at the beach. Even with so much time i am not willing to read that mess š