voracious_radix_sort 0.1.0

Very fast radix sort for all Rust primitive types and struct (except Array and tuple)
Documentation

running 1 test
Iterations: 500
=== Test u8 ===	AF sort (lib)	
Array size: 250
-- Unif       :6us	1127ns	(25.88ns)	
-- Asc Saw    :2us	198ns	(10.65ns)	
-- Desc Saw   :2us	58ns	(11.84ns)	
-- Equal      :0us	33ns	(2.47ns)	
-- Zipf       :3us	879ns	(15.96ns)	
-- Normale 10 :6us	381ns	(25.85ns)	
Array size: 500
-- Unif       :9us	177ns	(19.08ns)	
-- Asc Saw    :5us	166ns	(11.31ns)	
-- Desc Saw   :5us	619ns	(11.52ns)	
-- Equal      :0us	37ns	(1.85ns)	
-- Zipf       :5us	1083ns	(10.41ns)	
-- Normale 10 :8us	209ns	(16.07ns)	
Array size: 750
-- Unif       :9us	849ns	(13.08ns)	
-- Asc Saw    :6us	123ns	(8.59ns)	
-- Desc Saw   :6us	118ns	(8.64ns)	
-- Equal      :1us	30ns	(1.67ns)	
-- Zipf       :6us	380ns	(8.68ns)	
-- Normale 10 :9us	469ns	(13.15ns)	
Array size: 1000
-- Unif       :11us	171ns	(11.67ns)	
-- Asc Saw    :8us	1381ns	(8.58ns)	
-- Desc Saw   :8us	1110ns	(8.81ns)	
-- Equal      :1us	594ns	(1.66ns)	
-- Zipf       :8us	1301ns	(8.23ns)	
-- Normale 10 :11us	1428ns	(11.50ns)	
Array size: 1500
-- Unif       :14us	1106ns	(9.91ns)	
-- Asc Saw    :11us	103ns	(7.53ns)	
-- Desc Saw   :11us	819ns	(7.52ns)	
-- Equal      :2us	32ns	(1.55ns)	
-- Zipf       :10us	357ns	(7.23ns)	
-- Normale 10 :14us	527ns	(9.64ns)	
Array size: 2000
-- Unif       :17us	151ns	(8.85ns)	
-- Asc Saw    :14us	52ns	(7.03ns)	
-- Desc Saw   :14us	606ns	(7.09ns)	
-- Equal      :3us	425ns	(1.54ns)	
-- Zipf       :13us	354ns	(6.93ns)	
-- Normale 10 :17us	341ns	(8.81ns)	
Array size: 2500
-- Unif       :20us	768ns	(8.29ns)	
-- Asc Saw    :17us	63ns	(6.80ns)	
-- Desc Saw   :17us	462ns	(6.86ns)	
-- Equal      :3us	39ns	(1.50ns)	
-- Zipf       :17us	1047ns	(6.81ns)	
-- Normale 10 :20us	281ns	(8.24ns)	
Array size: 5000
-- Unif       :36us	374ns	(7.36ns)	
-- Asc Saw    :33us	401ns	(6.72ns)	
-- Desc Saw   :33us	453ns	(6.72ns)	
-- Equal      :7us	269ns	(1.49ns)	
-- Zipf       :31us	583ns	(6.31ns)	
-- Normale 10 :36us	394ns	(7.36ns)	
Array size: 7500
-- Unif       :50us	243ns	(6.73ns)	
-- Asc Saw    :48us	501ns	(6.46ns)	
-- Desc Saw   :48us	466ns	(6.46ns)	
-- Equal      :11us	274ns	(1.49ns)	
-- Zipf       :46us	933ns	(6.21ns)	
-- Normale 10 :50us	452ns	(6.74ns)	
Array size: 10000
-- Unif       :60us	551ns	(6.03ns)	
-- Asc Saw    :58us	812ns	(5.86ns)	
-- Desc Saw   :59us	555ns	(5.91ns)	
-- Equal      :14us	197ns	(1.48ns)	
-- Zipf       :62us	1454ns	(6.25ns)	
-- Normale 10 :62us	1085ns	(6.25ns)	
Array size: 12000
-- Unif       :72us	1027ns	(6.06ns)	
-- Asc Saw    :68us	772ns	(5.69ns)	
-- Desc Saw   :67us	493ns	(5.66ns)	
-- Equal      :17us	303ns	(1.47ns)	
-- Zipf       :74us	1221ns	(6.19ns)	
-- Normale 10 :72us	1002ns	(6.06ns)	
Array size: 14000
-- Unif       :85us	2112ns	(6.07ns)	
-- Asc Saw    :82us	1569ns	(5.88ns)	
-- Desc Saw   :82us	1267ns	(5.89ns)	
-- Equal      :21us	424ns	(1.51ns)	
-- Zipf       :87us	1571ns	(6.28ns)	
-- Normale 10 :84us	1479ns	(6.05ns)	
Array size: 16000
-- Unif       :96us	1590ns	(6.04ns)	
-- Asc Saw    :94us	1395ns	(5.91ns)	
-- Desc Saw   :94us	1600ns	(5.90ns)	
-- Equal      :24us	701ns	(1.52ns)	
-- Zipf       :100us	1623ns	(6.28ns)	
-- Normale 10 :96us	1552ns	(6.02ns)	
Array size: 18000
-- Unif       :108us	1593ns	(6.02ns)	
-- Asc Saw    :104us	1399ns	(5.82ns)	
-- Desc Saw   :106us	1733ns	(5.92ns)	
-- Equal      :28us	827ns	(1.60ns)	
-- Zipf       :116us	2229ns	(6.46ns)	
-- Normale 10 :107us	1342ns	(5.96ns)	
Array size: 20000
-- Unif       :115us	983ns	(5.79ns)	
-- Asc Saw    :113us	414ns	(5.67ns)	
-- Desc Saw   :113us	643ns	(5.70ns)	
-- Equal      :29us	374ns	(1.47ns)	
-- Zipf       :120us	1391ns	(6.01ns)	
-- Normale 10 :117us	1497ns	(5.89ns)	
Array size: 25000
-- Unif       :145us	1469ns	(5.84ns)	
-- Asc Saw    :144us	1226ns	(5.80ns)	
-- Desc Saw   :147us	1352ns	(5.89ns)	
-- Equal      :38us	706ns	(1.52ns)	
-- Zipf       :154us	1824ns	(6.18ns)	
-- Normale 10 :146us	1221ns	(5.85ns)	
Array size: 30000
-- Unif       :175us	1318ns	(5.85ns)	
-- Asc Saw    :174us	1135ns	(5.81ns)	
-- Desc Saw   :173us	1045ns	(5.77ns)	
-- Equal      :45us	609ns	(1.51ns)	
-- Zipf       :183us	2091ns	(6.10ns)	
-- Normale 10 :170us	402ns	(5.68ns)	
Array size: 50000
-- Unif       :300us	768ns	(6.02ns)	
-- Asc Saw    :315us	371ns	(6.31ns)	
-- Desc Saw   :309us	401ns	(6.20ns)	
-- Equal      :74us	285ns	(1.49ns)	
-- Zipf       :303us	594ns	(6.07ns)	
-- Normale 10 :290us	392ns	(5.80ns)	
Array size: 60000
-- Unif       :343us	303ns	(5.73ns)	
-- Asc Saw    :347us	311ns	(5.79ns)	
-- Desc Saw   :345us	227ns	(5.77ns)	
-- Equal      :87us	9ns	(1.46ns)	
-- Zipf       :352us	599ns	(5.87ns)	
-- Normale 10 :343us	131ns	(5.72ns)	
Array size: 70000
-- Unif       :401us	328ns	(5.73ns)	
-- Asc Saw    :426us	151ns	(6.09ns)	
-- Desc Saw   :424us	21ns	(6.07ns)	
-- Equal      :102us	122ns	(1.47ns)	
-- Zipf       :412us	647ns	(5.90ns)	
-- Normale 10 :406us	348ns	(5.80ns)	
Array size: 80000
-- Unif       :455us	193ns	(5.70ns)	
-- Asc Saw    :451us	174ns	(5.64ns)	
-- Desc Saw   :450us	113ns	(5.64ns)	
-- Equal      :117us	95ns	(1.47ns)	
-- Zipf       :483us	795ns	(6.05ns)	
-- Normale 10 :460us	215ns	(5.76ns)	
Array size: 90000
-- Unif       :519us	375ns	(5.78ns)	
-- Asc Saw    :511us	213ns	(5.69ns)	
-- Desc Saw   :521us	371ns	(5.80ns)	
-- Equal      :131us	46ns	(1.46ns)	
-- Zipf       :533us	901ns	(5.93ns)	
-- Normale 10 :515us	186ns	(5.73ns)	
Array size: 100000
-- Unif       :571us	146ns	(5.71ns)	
-- Asc Saw    :572us	162ns	(5.73ns)	
-- Desc Saw   :580us	248ns	(5.80ns)	
-- Equal      :146us	90ns	(1.46ns)	
-- Zipf       :602us	933ns	(6.03ns)	
-- Normale 10 :572us	223ns	(5.73ns)	
Array size: 200000
-- Unif       :1138us	113ns	(5.69ns)	
-- Asc Saw    :1141us	186ns	(5.71ns)	
-- Desc Saw   :1146us	260ns	(5.73ns)	
-- Equal      :294us	151ns	(1.47ns)	
-- Zipf       :1177us	1149ns	(5.89ns)	
-- Normale 10 :1142us	170ns	(5.71ns)	
Array size: 300000
-- Unif       :1833us	319ns	(6.11ns)	
-- Asc Saw    :1805us	158ns	(6.02ns)	
-- Desc Saw   :1795us	184ns	(5.99ns)	
-- Equal      :438us	81ns	(1.46ns)	
-- Zipf       :1748us	964ns	(5.83ns)	
-- Normale 10 :1831us	266ns	(6.10ns)	
Array size: 400000
-- Unif       :2605us	169ns	(6.51ns)	
-- Asc Saw    :2588us	328ns	(6.47ns)	
-- Desc Saw   :2554us	160ns	(6.39ns)	
-- Equal      :584us	63ns	(1.46ns)	
-- Zipf       :2337us	1203ns	(5.84ns)	
-- Normale 10 :2613us	319ns	(6.53ns)	
Array size: 500000
-- Unif       :3409us	188ns	(6.82ns)	
-- Asc Saw    :3434us	77ns	(6.87ns)	
-- Desc Saw   :3390us	404ns	(6.78ns)	
-- Equal      :736us	217ns	(1.47ns)	
-- Zipf       :2921us	1571ns	(5.84ns)	
-- Normale 10 :3411us	295ns	(6.82ns)	
Array size: 600000
-- Unif       :4204us	240ns	(7.01ns)	
-- Asc Saw    :4030us	165ns	(6.72ns)	
-- Desc Saw   :4094us	399ns	(6.82ns)	
-- Equal      :877us	88ns	(1.46ns)	
-- Zipf       :3560us	2136ns	(5.93ns)	
-- Normale 10 :4217us	249ns	(7.03ns)	
Array size: 700000
-- Unif       :5101us	669ns	(7.29ns)	
-- Asc Saw    :5053us	200ns	(7.22ns)	
-- Desc Saw   :5030us	190ns	(7.19ns)	
-- Equal      :1035us	256ns	(1.48ns)	
-- Zipf       :4108us	2051ns	(5.87ns)	
-- Normale 10 :5116us	795ns	(7.31ns)	
Array size: 800000
-- Unif       :5789us	443ns	(7.24ns)	
-- Asc Saw    :6106us	180ns	(7.63ns)	
-- Desc Saw   :5985us	715ns	(7.48ns)	
-- Equal      :1170us	103ns	(1.46ns)	
-- Zipf       :4657us	1937ns	(5.82ns)	
-- Normale 10 :5786us	371ns	(7.23ns)	
Array size: 900000
-- Unif       :6581us	250ns	(7.31ns)	
-- Asc Saw    :6548us	482ns	(7.28ns)	
-- Desc Saw   :6569us	154ns	(7.30ns)	
-- Equal      :1318us	102ns	(1.47ns)	
-- Zipf       :5241us	2440ns	(5.82ns)	
-- Normale 10 :6589us	277ns	(7.32ns)	
Array size: 1000000
-- Unif       :7817us	1032ns	(7.82ns)	
-- Asc Saw    :7605us	335ns	(7.61ns)	
-- Desc Saw   :7498us	73ns	(7.50ns)	
-- Equal      :1466us	45ns	(1.47ns)	
-- Zipf       :5821us	599ns	(5.82ns)	
-- Normale 10 :7419us	106ns	(7.42ns)	
Array size: 2000000
-- Unif       :15036us	458ns	(7.52ns)	
-- Asc Saw    :15041us	157ns	(7.52ns)	
-- Desc Saw   :15493us	480ns	(7.75ns)	
-- Equal      :2999us	49ns	(1.50ns)	
-- Zipf       :11867us	1742ns	(5.93ns)	
-- Normale 10 :15782us	500ns	(7.89ns)	
Array size: 3000000
-- Unif       :23872us	1009ns	(7.96ns)	
-- Asc Saw    :22674us	606ns	(7.56ns)	
-- Desc Saw   :22608us	425ns	(7.54ns)	
-- Equal      :4374us	25ns	(1.46ns)	
-- Zipf       :17079us	327ns	(5.69ns)	
-- Normale 10 :22745us	882ns	(7.58ns)	
Array size: 4000000
-- Unif       :31732us	176ns	(7.93ns)	
-- Asc Saw    :33575us	595ns	(8.39ns)	
-- Desc Saw   :30753us	171ns	(7.69ns)	
-- Equal      :5998us	83ns	(1.50ns)	
-- Zipf       :23659us	2282ns	(5.91ns)	
-- Normale 10 :30811us	689ns	(7.70ns)	
Array size: 5000000
-- Unif       :39321us	1362ns	(7.86ns)	
-- Asc Saw    :38259us	269ns	(7.65ns)	
-- Desc Saw   :38986us	810ns	(7.80ns)	
-- Equal      :7311us	18ns	(1.46ns)	
-- Zipf       :29148us	2139ns	(5.83ns)	
-- Normale 10 :39675us	362ns	(7.94ns)	
Array size: 6000000
-- Unif       :47308us	1251ns	(7.88ns)	
-- Asc Saw    :48509us	1234ns	(8.08ns)	
-- Desc Saw   :47711us	1084ns	(7.95ns)	
-- Equal      :8848us	42ns	(1.47ns)	
-- Zipf       :34943us	2307ns	(5.82ns)	
-- Normale 10 :46857us	1053ns	(7.81ns)	
Array size: 7000000
-- Unif       :54995us	1086ns	(7.86ns)	
-- Asc Saw    :52076us	753ns	(7.44ns)	
-- Desc Saw   :53566us	1770ns	(7.65ns)	
-- Equal      :10660us	43ns	(1.52ns)	
-- Zipf       :41932us	2389ns	(5.99ns)	
-- Normale 10 :56460us	1039ns	(8.07ns)	
Array size: 8000000
-- Unif       :62011us	884ns	(7.75ns)	
-- Asc Saw    :61129us	788ns	(7.64ns)	
-- Desc Saw   :61556us	705ns	(7.69ns)	
-- Equal      :11887us	101ns	(1.49ns)	
-- Zipf       :46390us	2706ns	(5.80ns)	
-- Normale 10 :61705us	533ns	(7.71ns)	
Array size: 9000000
-- Unif       :69542us	463ns	(7.73ns)	
-- Asc Saw    :72476us	698ns	(8.05ns)	
-- Desc Saw   :69130us	1605ns	(7.68ns)	
-- Equal      :13423us	202ns	(1.49ns)	
-- Zipf       :53279us	3072ns	(5.92ns)	
-- Normale 10 :71526us	928ns	(7.95ns)	
Array size: 10000000
-- Unif       :77531us	504ns	(7.75ns)	
-- Asc Saw    :78100us	671ns	(7.81ns)	
-- Desc Saw   :78163us	620ns	(7.82ns)	
-- Equal      :14918us	210ns	(1.49ns)	
-- Zipf       :58557us	3709ns	(5.86ns)	
-- Normale 10 :78750us	1291ns	(7.88ns)	
Array size: 50000000
-- Unif       :398573us	287ns	(7.97ns)	
-- Asc Saw    :383963us	61ns	(7.68ns)	
-- Desc Saw   :384919us	181ns	(7.70ns)	
-- Equal      :74445us	30ns	(1.49ns)	
-- Zipf       :296460us	4052ns	(5.93ns)	
-- Normale 10 :396836us	153ns	(7.94ns)	
Array size: 100000000
-- Unif       :796495us	108ns	(7.96ns)	
-- Asc Saw    :831349us	122ns	(8.31ns)	
-- Desc Saw   :723027us	60ns	(7.23ns)	
-- Equal      :148593us	50ns	(1.49ns)	
-- Zipf       :580945us	2044ns	(5.81ns)	
-- Normale 10 :794855us	48ns	(7.95ns)	
Array size: 200000000
-- Unif       :1592793us	74ns	(7.96ns)	
-- Asc Saw    :1566746us	95ns	(7.83ns)	
-- Desc Saw   :1570400us	60ns	(7.85ns)	
-- Equal      :297121us	57ns	(1.49ns)	
-- Zipf       :1186402us	4504ns	(5.93ns)	
-- Normale 10 :1593746us	416ns	(7.97ns)	
Array size: 300000000
-- Unif       :2388982us	295ns	(7.96ns)	
-- Asc Saw    :2446836us	204ns	(8.16ns)	
-- Desc Saw   :2506709us	171ns	(8.36ns)	
-- Equal      :444670us	44ns	(1.48ns)	
-- Zipf       :1704528us	106ns	(5.68ns)	
-- Normale 10 :2389506us	173ns	(7.97ns)	
Array size: 400000000
-- Unif       :3186075us	372ns	(7.97ns)	
-- Asc Saw    :2993913us	181ns	(7.48ns)	
-- Desc Saw   :2954114us	343ns	(7.39ns)	
-- Equal      :595621us	217ns	(1.49ns)	
-- Zipf       :2341190us	8570ns	(5.85ns)	
-- Normale 10 :3184590us	213ns	(7.96ns)	
Array size: 500000000
-- Unif       :3983321us	378ns	(7.97ns)	
-- Asc Saw    :4180223us	227ns	(8.36ns)	
-- Desc Saw   :4090019us	288ns	(8.18ns)	
-- Equal      :744202us	311ns	(1.49ns)	
-- Zipf       :2913558us	15747ns	(5.83ns)	
-- Normale 10 :3980115us	39ns	(7.96ns)	
Array size: 600000000
-- Unif       :4775861us	303ns	(7.96ns)	
-- Asc Saw    :4719879us	161ns	(7.87ns)	
-- Desc Saw   :4714915us	288ns	(7.86ns)	
-- Equal      :891390us	196ns	(1.49ns)	
-- Zipf       :3555447us	10345ns	(5.93ns)	
-- Normale 10 :4777604us	82ns	(7.96ns)	
Array size: 700000000
-- Unif       :5569175us	54ns	(7.96ns)	
-- Asc Saw    :5337210us	361ns	(7.62ns)	
-- Desc Saw   :5845901us	205ns	(8.35ns)	
-- Equal      :1072540us	498ns	(1.53ns)	
-- Zipf       :3999990us	1804ns	(5.71ns)	
-- Normale 10 :5569460us	35ns	(7.96ns)	
Array size: 800000000
-- Unif       :6369965us	69ns	(7.96ns)	
-- Asc Saw    :5981716us	287ns	(7.48ns)	
-- Desc Saw   :5875880us	208ns	(7.34ns)	
-- Equal      :1188667us	203ns	(1.49ns)	
-- Zipf       :4437478us	9303ns	(5.55ns)	
-- Normale 10 :6370833us	202ns	(7.96ns)	
Array size: 800000000
-- Unif       :6363171us	93ns	(7.95ns)	
-- Asc Saw    :5979439us	151ns	(7.47ns)	
-- Desc Saw   :5872143us	183ns	(7.34ns)	
-- Equal      :1188806us	235ns	(1.49ns)	
-- Zipf       :4693772us	13371ns	(5.87ns)	
-- Normale 10 :6368633us	94ns	(7.96ns)	
Array size: 900000000
-- Unif       :7157015us	39ns	(7.95ns)	
-- Asc Saw    :7504381us	319ns	(8.34ns)	
-- Desc Saw   :6959419us	213ns	(7.73ns)	
-- Equal      :1335535us	220ns	(1.48ns)	
-- Zipf       :5092556us	1133ns	(5.66ns)	
-- Normale 10 :7161737us	131ns	(7.96ns)	
Array size: 1000000000
-- Unif       :7955218us	75ns	(7.96ns)	
-- Asc Saw    :7856439us	414ns	(7.86ns)	
-- Desc Saw   :7897631us	152ns	(7.90ns)	
-- Equal      :1482423us	50ns	(1.48ns)	
-- Zipf       :6051741us	15313ns	(6.05ns)	
-- Normale 10 :7959613us	65ns	(7.96ns)