script to execute a basic benchmark
use debug build for testing
fix: do not decrease left pointer if it points to dead element.

just decrease the dead partition pointer and swap the element in
fix: avoid partitioning error when dead_or_taken status changes
make TODO more precise
REF
prioritize uses sum of weights instead of dominance check, which is too inacurate
REF: code simplification
REF: split the MAX_ATTEMPTS parameter to several different, according to their intended use
sampling for pivot elements