Skip to content

blank100/PdqSort-cs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 

Repository files navigation

PdqSort-cs

Pdq排序算法的C#实现,性能较C#内置的排序算法要好不少,应该是目前综合性能最好的排序算法. 主要是参照 https://gist.github.com/hez2010/6b52929ee1755788c34818972c46aefb 实现的

Method size Mean Error StdDev Median Ratio RatioSD Allocated Alloc Ratio
BuildInSort_AllEqual 10 1,985.0 ns 153.98 ns 454.02 ns 2,100.0 ns 1.00 0.00 728 B 1.00
PdqSort_Span_AllEqual 10 245.0 ns 34.21 ns 100.88 ns 300.0 ns 0.13 0.07 640 B 0.88
PdqSort_Unguarded_AllEqual 10 185.0 ns 45.32 ns 133.62 ns 200.0 ns 0.10 0.08 640 B 0.88
PdqSort_Unmanaged_AllEqual 10 234.0 ns 41.32 ns 121.83 ns 250.0 ns 0.13 0.07 640 B 0.88
BuildInSort_Random 10 2,005.0 ns 154.44 ns 455.36 ns 2,200.0 ns 1.07 0.38 728 B 1.00
PdqSort_Span_Random 10 408.1 ns 56.11 ns 164.55 ns 500.0 ns 0.22 0.11 640 B 0.88
PdqSort_Unguarded_Random 10 398.0 ns 40.04 ns 118.05 ns 400.0 ns 0.22 0.10 640 B 0.88
PdqSort_Unmanaged_Random 10 280.0 ns 59.82 ns 176.38 ns 300.0 ns 0.15 0.11 640 B 0.88
BuildInSort_RandomNear 10 1,931.0 ns 161.73 ns 476.88 ns 2,050.0 ns 1.03 0.37 728 B 1.00
PdqSort_Span_RandomNear 10 196.0 ns 52.79 ns 155.65 ns 200.0 ns 0.10 0.09 640 B 0.88
PdqSort_Unguarded_RandomNear 10 303.0 ns 51.80 ns 152.72 ns 300.0 ns 0.17 0.10 640 B 0.88
PdqSort_Unmanaged_RandomNear 10 266.0 ns 40.11 ns 118.25 ns 200.0 ns 0.14 0.07 640 B 0.88
BuildInSort_Sequence 10 1,700.5 ns 154.68 ns 453.64 ns 1,450.0 ns 0.91 0.38 728 B 1.00
PdqSort_Span_Sequence 10 232.0 ns 42.27 ns 124.62 ns 200.0 ns 0.12 0.07 640 B 0.88
PdqSort_Unguarded_Sequence 10 159.0 ns 43.94 ns 129.56 ns 100.0 ns 0.09 0.08 640 B 0.88
PdqSort_Unmanaged_Sequence 10 250.5 ns 52.32 ns 153.45 ns 300.0 ns 0.13 0.09 640 B 0.88
BuildInSort_Reverse 10 2,529.8 ns 210.35 ns 600.15 ns 2,600.0 ns 1.36 0.55 728 B 1.00
PdqSort_Span_Reverse 10 426.0 ns 54.46 ns 160.57 ns 450.0 ns 0.23 0.11 640 B 0.88
PdqSort_Unguarded_Reverse 10 290.5 ns 29.81 ns 80.09 ns 300.0 ns 0.15 0.06 640 B 0.88
PdqSort_Unmanaged_Reverse 10 188.8 ns 19.85 ns 53.66 ns 150.0 ns 0.10 0.05 640 B 0.88
BuildInSort_Peek 10 1,736.4 ns 94.26 ns 259.61 ns 1,700.0 ns 0.92 0.29 728 B 1.00
PdqSort_Span_Peek 10 370.0 ns 58.94 ns 173.79 ns 400.0 ns 0.20 0.11 640 B 0.88
PdqSort_Unguarded_Peek 10 295.0 ns 58.32 ns 171.96 ns 200.0 ns 0.17 0.13 640 B 0.88
PdqSort_Unmanaged_Peek 10 181.3 ns 15.52 ns 39.23 ns 200.0 ns 0.09 0.03 640 B 0.88
BuildInSort_ReversePeek 10 2,007.0 ns 155.55 ns 458.64 ns 1,800.0 ns 1.08 0.39 728 B 1.00
PdqSort_Span_ReversePeek 10 182.9 ns 23.74 ns 62.96 ns 150.0 ns 0.09 0.04 640 B 0.88
PdqSort_Unguarded_ReversePeek 10 187.3 ns 21.67 ns 56.31 ns 200.0 ns 0.10 0.04 640 B 0.88
PdqSort_Unmanaged_ReversePeek 10 170.4 ns 21.17 ns 55.78 ns 200.0 ns 0.09 0.04 640 B 0.88
BuildInSort_AllEqual 100 3,883.0 ns 154.03 ns 454.17 ns 3,700.0 ns 1.00 0.00 728 B 1.00
PdqSort_Span_AllEqual 100 603.4 ns 20.92 ns 57.63 ns 600.0 ns 0.16 0.02 640 B 0.88
PdqSort_Unguarded_AllEqual 100 555.3 ns 20.97 ns 56.71 ns 600.0 ns 0.14 0.02 640 B 0.88
PdqSort_Unmanaged_AllEqual 100 668.0 ns 48.42 ns 142.76 ns 600.0 ns 0.17 0.04 640 B 0.88
BuildInSort_Random 100 5,637.5 ns 113.91 ns 177.35 ns 5,550.0 ns 1.44 0.15 728 B 1.00
PdqSort_Span_Random 100 2,111.2 ns 146.84 ns 406.88 ns 2,000.0 ns 0.55 0.13 640 B 0.88
PdqSort_Unguarded_Random 100 2,045.1 ns 141.18 ns 395.89 ns 1,900.0 ns 0.53 0.11 640 B 0.88
PdqSort_Unmanaged_Random 100 2,284.8 ns 129.17 ns 364.33 ns 2,200.0 ns 0.60 0.11 640 B 0.88
BuildInSort_RandomNear 100 4,626.9 ns 81.50 ns 111.56 ns 4,600.0 ns 1.18 0.14 728 B 1.00
PdqSort_Span_RandomNear 100 1,701.1 ns 157.84 ns 442.59 ns 1,500.0 ns 0.44 0.13 640 B 0.88
PdqSort_Unguarded_RandomNear 100 2,462.0 ns 318.15 ns 938.06 ns 2,150.0 ns 0.64 0.26 640 B 0.88
PdqSort_Unmanaged_RandomNear 100 1,869.6 ns 114.16 ns 321.99 ns 1,800.0 ns 0.49 0.09 640 B 0.88
BuildInSort_Sequence 100 3,602.2 ns 75.41 ns 145.28 ns 3,600.0 ns 0.94 0.11 728 B 1.00
PdqSort_Span_Sequence 100 737.0 ns 60.72 ns 179.03 ns 700.0 ns 0.19 0.05 640 B 0.88
PdqSort_Unguarded_Sequence 100 614.0 ns 58.05 ns 171.16 ns 650.0 ns 0.16 0.05 640 B 0.88
PdqSort_Unmanaged_Sequence 100 571.4 ns 17.74 ns 45.47 ns 600.0 ns 0.15 0.02 640 B 0.88
BuildInSort_Reverse 100 5,519.7 ns 155.98 ns 457.47 ns 5,650.0 ns 1.44 0.21 728 B 1.00
PdqSort_Span_Reverse 100 825.6 ns 26.37 ns 69.94 ns 800.0 ns 0.21 0.03 640 B 0.88
PdqSort_Unguarded_Reverse 100 968.0 ns 77.86 ns 229.57 ns 850.0 ns 0.25 0.07 640 B 0.88
PdqSort_Unmanaged_Reverse 100 1,007.1 ns 63.93 ns 187.49 ns 1,100.0 ns 0.26 0.05 640 B 0.88
BuildInSort_Peek 100 7,894.0 ns 181.00 ns 533.68 ns 7,700.0 ns 2.06 0.26 728 B 1.00
PdqSort_Span_Peek 100 2,377.0 ns 49.11 ns 134.42 ns 2,400.0 ns 0.62 0.08 640 B 0.88
PdqSort_Unguarded_Peek 100 2,408.6 ns 101.67 ns 288.42 ns 2,300.0 ns 0.63 0.10 640 B 0.88
PdqSort_Unmanaged_Peek 100 2,559.5 ns 132.97 ns 381.51 ns 2,550.0 ns 0.67 0.12 640 B 0.88
BuildInSort_ReversePeek 100 7,176.9 ns 130.76 ns 109.19 ns 7,200.0 ns 1.77 0.26 728 B 1.00
PdqSort_Span_ReversePeek 100 2,553.4 ns 105.02 ns 289.25 ns 2,500.0 ns 0.67 0.10 640 B 0.88
PdqSort_Unguarded_ReversePeek 100 2,262.0 ns 76.68 ns 216.28 ns 2,200.0 ns 0.59 0.08 640 B 0.88
PdqSort_Unmanaged_ReversePeek 100 2,364.9 ns 100.19 ns 285.85 ns 2,250.0 ns 0.62 0.10 640 B 0.88
BuildInSort_AllEqual 1000 36,316.7 ns 653.62 ns 611.40 ns 36,050.0 ns 1.00 0.00 728 B 1.00
PdqSort_Span_AllEqual 1000 3,333.8 ns 67.45 ns 172.91 ns 3,300.0 ns 0.09 0.01 640 B 0.88
PdqSort_Unguarded_AllEqual 1000 3,357.1 ns 72.01 ns 210.06 ns 3,400.0 ns 0.10 0.01 640 B 0.88
PdqSort_Unmanaged_AllEqual 1000 3,313.0 ns 74.47 ns 219.57 ns 3,200.0 ns 0.09 0.01 640 B 0.88
BuildInSort_Random 1000 73,506.7 ns 985.18 ns 921.54 ns 73,100.0 ns 2.02 0.05 728 B 1.00
PdqSort_Span_Random 1000 47,893.2 ns 945.73 ns 2,713.47 ns 47,350.0 ns 1.35 0.09 640 B 0.88
PdqSort_Unguarded_Random 1000 44,463.6 ns 1,225.90 ns 3,595.36 ns 44,100.0 ns 1.30 0.11 640 B 0.88
PdqSort_Unmanaged_Random 1000 45,560.8 ns 908.62 ns 2,279.54 ns 45,300.0 ns 1.26 0.06 640 B 0.88
BuildInSort_RandomNear 1000 69,250.0 ns 1,339.69 ns 1,187.60 ns 69,400.0 ns 1.91 0.03 728 B 1.00
PdqSort_Span_RandomNear 1000 41,284.4 ns 820.87 ns 1,902.48 ns 41,250.0 ns 1.16 0.05 640 B 0.88
PdqSort_Unguarded_RandomNear 1000 39,553.7 ns 952.69 ns 2,733.43 ns 39,400.0 ns 1.13 0.09 640 B 0.88
PdqSort_Unmanaged_RandomNear 1000 40,035.3 ns 787.18 ns 1,271.16 ns 39,750.0 ns 1.09 0.05 640 B 0.88
BuildInSort_Sequence 1000 38,630.0 ns 619.69 ns 579.66 ns 38,250.0 ns 1.06 0.03 728 B 1.00
PdqSort_Span_Sequence 1000 3,741.0 ns 76.47 ns 172.60 ns 3,700.0 ns 0.10 0.01 640 B 0.88
PdqSort_Unguarded_Sequence 1000 3,804.8 ns 77.34 ns 92.07 ns 3,800.0 ns 0.10 0.00 640 B 0.88
PdqSort_Unmanaged_Sequence 1000 3,661.5 ns 60.64 ns 50.64 ns 3,700.0 ns 0.10 0.00 640 B 0.88
BuildInSort_Reverse 1000 61,630.8 ns 443.75 ns 370.55 ns 61,500.0 ns 1.70 0.03 728 B 1.00
PdqSort_Span_Reverse 1000 5,566.7 ns 112.66 ns 188.22 ns 5,500.0 ns 0.15 0.01 640 B 0.88
PdqSort_Unguarded_Reverse 1000 5,582.5 ns 110.98 ns 197.27 ns 5,600.0 ns 0.15 0.01 640 B 0.88
PdqSort_Unmanaged_Reverse 1000 5,938.8 ns 119.68 ns 284.42 ns 5,800.0 ns 0.17 0.01 640 B 0.88
BuildInSort_Peek 1000 125,886.7 ns 2,477.65 ns 2,317.59 ns 125,700.0 ns 3.47 0.08 728 B 1.00
PdqSort_Span_Peek 1000 32,371.4 ns 1,282.55 ns 3,741.24 ns 31,200.0 ns 0.92 0.08 640 B 0.88
PdqSort_Unguarded_Peek 1000 30,162.5 ns 670.42 ns 1,846.54 ns 29,750.0 ns 0.87 0.08 640 B 0.88
PdqSort_Unmanaged_Peek 1000 33,208.8 ns 665.49 ns 1,741.47 ns 32,650.0 ns 0.94 0.06 640 B 0.88
BuildInSort_ReversePeek 1000 121,592.9 ns 1,825.65 ns 1,618.39 ns 121,250.0 ns 3.35 0.06 728 B 1.00
PdqSort_Span_ReversePeek 1000 30,927.4 ns 866.28 ns 2,485.51 ns 30,300.0 ns 0.90 0.06 640 B 0.88
PdqSort_Unguarded_ReversePeek 1000 28,092.6 ns 544.81 ns 1,435.25 ns 27,700.0 ns 0.80 0.05 640 B 0.88
PdqSort_Unmanaged_ReversePeek 1000 30,848.6 ns 584.98 ns 1,445.93 ns 30,550.0 ns 0.87 0.05 640 B 0.88
BuildInSort_AllEqual 10000 541,792.9 ns 2,778.54 ns 2,463.10 ns 541,950.0 ns 1.00 0.00 728 B 1.00
PdqSort_Span_AllEqual 10000 30,027.3 ns 597.55 ns 947.78 ns 30,300.0 ns 0.06 0.00 640 B 0.88
PdqSort_Unguarded_AllEqual 10000 29,289.0 ns 585.33 ns 1,725.85 ns 29,050.0 ns 0.06 0.00 640 B 0.88
PdqSort_Unmanaged_AllEqual 10000 28,690.6 ns 548.76 ns 854.35 ns 28,250.0 ns 0.05 0.00 640 B 0.88
BuildInSort_Random 10000 978,046.7 ns 14,340.67 ns 13,414.27 ns 978,200.0 ns 1.80 0.03 728 B 1.00
PdqSort_Span_Random 10000 683,753.3 ns 5,737.02 ns 5,366.41 ns 685,300.0 ns 1.26 0.01 640 B 0.88
PdqSort_Unguarded_Random 10000 654,223.1 ns 10,565.10 ns 8,822.33 ns 656,900.0 ns 1.21 0.02 640 B 0.88
PdqSort_Unmanaged_Random 10000 643,553.3 ns 7,921.76 ns 7,410.02 ns 642,600.0 ns 1.19 0.01 640 B 0.88
BuildInSort_RandomNear 10000 983,160.0 ns 7,924.12 ns 7,412.23 ns 983,300.0 ns 1.81 0.02 728 B 1.00
PdqSort_Span_RandomNear 10000 666,032.6 ns 14,241.04 ns 40,860.23 ns 647,800.0 ns 1.20 0.04 640 B 0.88
PdqSort_Unguarded_RandomNear 10000 606,360.0 ns 5,984.39 ns 5,597.81 ns 605,100.0 ns 1.12 0.01 640 B 0.88
PdqSort_Unmanaged_RandomNear 10000 607,440.0 ns 3,991.44 ns 3,733.59 ns 607,700.0 ns 1.12 0.01 640 B 0.88
BuildInSort_Sequence 10000 559,588.5 ns 4,255.77 ns 3,553.76 ns 559,650.0 ns 1.03 0.01 728 B 1.00
PdqSort_Span_Sequence 10000 33,446.2 ns 389.94 ns 325.62 ns 33,300.0 ns 0.06 0.00 640 B 0.88
PdqSort_Unguarded_Sequence 10000 33,853.3 ns 600.51 ns 561.72 ns 33,900.0 ns 0.06 0.00 640 B 0.88
PdqSort_Unmanaged_Sequence 10000 35,075.0 ns 57.93 ns 45.23 ns 35,100.0 ns 0.06 0.00 640 B 0.88
BuildInSort_Reverse 10000 957,376.9 ns 2,753.97 ns 2,299.69 ns 957,000.0 ns 1.77 0.01 728 B 1.00
PdqSort_Span_Reverse 10000 50,308.3 ns 951.39 ns 1,237.08 ns 50,500.0 ns 0.09 0.00 640 B 0.88
PdqSort_Unguarded_Reverse 10000 51,484.4 ns 984.79 ns 1,533.20 ns 51,000.0 ns 0.09 0.00 640 B 0.88
PdqSort_Unmanaged_Reverse 10000 52,000.0 ns 856.61 ns 715.31 ns 51,600.0 ns 0.10 0.00 640 B 0.88
BuildInSort_Peek 10000 2,128,200.0 ns 21,494.76 ns 17,949.09 ns 2,122,000.0 ns 3.93 0.04 728 B 1.00
PdqSort_Span_Peek 10000 442,473.9 ns 8,669.52 ns 10,964.17 ns 441,700.0 ns 0.82 0.02 640 B 0.88
PdqSort_Unguarded_Peek 10000 440,691.7 ns 8,810.07 ns 11,455.58 ns 441,050.0 ns 0.82 0.02 640 B 0.88
PdqSort_Unmanaged_Peek 10000 451,606.7 ns 7,565.06 ns 7,076.37 ns 453,300.0 ns 0.83 0.01 640 B 0.88
BuildInSort_ReversePeek 10000 2,118,980.0 ns 37,597.97 ns 35,169.17 ns 2,108,200.0 ns 3.91 0.07 728 B 1.00
PdqSort_Span_ReversePeek 10000 451,296.7 ns 8,832.56 ns 13,220.16 ns 453,750.0 ns 0.83 0.04 640 B 0.88
PdqSort_Unguarded_ReversePeek 10000 438,084.5 ns 8,649.37 ns 12,678.14 ns 438,550.0 ns 0.81 0.03 640 B 0.88
PdqSort_Unmanaged_ReversePeek 10000 452,613.3 ns 6,446.85 ns 6,030.38 ns 452,600.0 ns 0.84 0.01 640 B 0.88
BuildInSort_AllEqual 100000 6,601,964.3 ns 80,270.17 ns 71,157.42 ns 6,610,000.0 ns 1.00 0.00 728 B 1.00
PdqSort_Span_AllEqual 100000 307,949.0 ns 6,154.70 ns 12,291.60 ns 309,900.0 ns 0.05 0.00 640 B 0.88
PdqSort_Unguarded_AllEqual 100000 294,489.7 ns 7,838.76 ns 22,741.66 ns 290,300.0 ns 0.04 0.00 640 B 0.88
PdqSort_Unmanaged_AllEqual 100000 301,518.6 ns 6,020.90 ns 14,655.71 ns 294,900.0 ns 0.05 0.00 640 B 0.88
BuildInSort_Random 100000 8,319,869.4 ns 131,493.35 ns 262,606.44 ns 8,330,200.0 ns 1.25 0.04 728 B 1.00
PdqSort_Span_Random 100000 8,619,546.7 ns 118,234.97 ns 110,597.06 ns 8,605,300.0 ns 1.31 0.03 640 B 0.88
PdqSort_Unguarded_Random 100000 6,872,020.0 ns 105,236.89 ns 200,224.11 ns 6,863,500.0 ns 1.05 0.04 640 B 0.88
PdqSort_Unmanaged_Random 100000 6,511,947.8 ns 54,243.01 ns 104,507.87 ns 6,525,000.0 ns 0.99 0.02 640 B 0.88
BuildInSort_RandomNear 100000 8,104,440.0 ns 127,809.82 ns 227,181.83 ns 8,091,000.0 ns 1.24 0.04 728 B 1.00
PdqSort_Span_RandomNear 100000 6,476,084.4 ns 73,769.01 ns 140,353.21 ns 6,472,500.0 ns 1.00 0.02 640 B 0.88
PdqSort_Unguarded_RandomNear 100000 7,547,343.3 ns 145,008.73 ns 135,641.26 ns 7,526,650.0 ns 1.14 0.03 640 B 0.88
PdqSort_Unmanaged_RandomNear 100000 6,028,453.1 ns 54,223.43 ns 108,290.05 ns 6,035,400.0 ns 0.92 0.01 640 B 0.88
BuildInSort_Sequence 100000 7,006,316.7 ns 95,834.96 ns 89,644.08 ns 7,023,550.0 ns 1.06 0.02 728 B 1.00
PdqSort_Span_Sequence 100000 349,832.0 ns 6,865.81 ns 13,869.26 ns 345,850.0 ns 0.05 0.00 640 B 0.88
PdqSort_Unguarded_Sequence 100000 357,285.2 ns 7,065.03 ns 9,904.18 ns 355,000.0 ns 0.05 0.00 640 B 0.88
PdqSort_Unmanaged_Sequence 100000 356,568.4 ns 6,941.15 ns 7,715.07 ns 353,100.0 ns 0.05 0.00 640 B 0.88
BuildInSort_Reverse 100000 6,397,096.0 ns 90,785.32 ns 121,195.80 ns 6,374,600.0 ns 0.97 0.03 728 B 1.00
PdqSort_Span_Reverse 100000 511,292.1 ns 9,998.41 ns 17,246.77 ns 509,100.0 ns 0.08 0.00 640 B 0.88
PdqSort_Unguarded_Reverse 100000 527,475.0 ns 9,417.73 ns 9,249.47 ns 527,750.0 ns 0.08 0.00 640 B 0.88
PdqSort_Unmanaged_Reverse 100000 526,185.7 ns 4,566.35 ns 4,047.95 ns 524,350.0 ns 0.08 0.00 640 B 0.88
BuildInSort_Peek 100000 15,733,764.3 ns 281,448.72 ns 249,496.96 ns 15,696,200.0 ns 2.38 0.04 728 B 1.00
PdqSort_Span_Peek 100000 5,313,422.2 ns 99,422.63 ns 106,381.10 ns 5,325,450.0 ns 0.81 0.02 640 B 0.88
PdqSort_Unguarded_Peek 100000 5,296,952.4 ns 101,359.68 ns 120,661.49 ns 5,297,000.0 ns 0.80 0.02 640 B 0.88
PdqSort_Unmanaged_Peek 100000 5,509,794.7 ns 104,336.80 ns 115,970.08 ns 5,477,900.0 ns 0.84 0.02 640 B 0.88
BuildInSort_ReversePeek 100000 16,306,442.9 ns 294,652.68 ns 261,201.93 ns 16,234,950.0 ns 2.47 0.04 728 B 1.00
PdqSort_Span_ReversePeek 100000 5,293,880.8 ns 103,075.99 ns 141,091.58 ns 5,301,750.0 ns 0.80 0.02 640 B 0.88
PdqSort_Unguarded_ReversePeek 100000 5,307,156.0 ns 105,224.26 ns 140,471.36 ns 5,310,200.0 ns 0.80 0.03 640 B 0.88
PdqSort_Unmanaged_ReversePeek 100000 5,474,628.6 ns 62,283.04 ns 55,212.30 ns 5,481,800.0 ns 0.83 0.01 640 B 0.88
BuildInSort_AllEqual 1000000 32,250,515.4 ns 385,659.82 ns 322,043.41 ns 32,303,900.0 ns 1.00 0.00 728 B 1.00
PdqSort_Span_AllEqual 1000000 2,685,720.5 ns 53,632.22 ns 143,155.26 ns 2,681,400.0 ns 0.09 0.01 640 B 0.88
PdqSort_Unguarded_AllEqual 1000000 2,695,716.0 ns 53,861.92 ns 71,904.12 ns 2,694,800.0 ns 0.08 0.00 640 B 0.88
PdqSort_Unmanaged_AllEqual 1000000 2,544,946.7 ns 48,743.58 ns 123,181.25 ns 2,522,500.0 ns 0.08 0.00 640 B 0.88
BuildInSort_Random 1000000 97,246,364.3 ns 1,685,322.02 ns 1,493,994.08 ns 97,106,750.0 ns 3.01 0.06 728 B 1.00
PdqSort_Span_Random 1000000 81,674,520.0 ns 1,522,765.20 ns 1,424,395.52 ns 81,422,300.0 ns 2.53 0.06 640 B 0.88
PdqSort_Unguarded_Random 1000000 78,480,814.3 ns 1,259,999.40 ns 1,116,956.65 ns 78,232,150.0 ns 2.43 0.05 640 B 0.88
PdqSort_Unmanaged_Random 1000000 75,742,776.7 ns 1,443,690.37 ns 1,350,428.87 ns 75,555,850.0 ns 2.35 0.04 640 B 0.88
BuildInSort_RandomNear 1000000 94,058,560.0 ns 1,182,517.13 ns 1,106,127.25 ns 93,900,400.0 ns 2.92 0.05 728 B 1.00
PdqSort_Span_RandomNear 1000000 76,016,626.7 ns 1,070,071.32 ns 1,000,945.37 ns 75,935,500.0 ns 2.36 0.04 640 B 0.88
PdqSort_Unguarded_RandomNear 1000000 73,359,693.3 ns 983,771.24 ns 920,220.23 ns 73,086,400.0 ns 2.27 0.03 640 B 0.88
PdqSort_Unmanaged_RandomNear 1000000 72,146,346.7 ns 1,070,657.54 ns 1,001,493.72 ns 71,879,500.0 ns 2.24 0.03 640 B 0.88
BuildInSort_Sequence 1000000 40,909,016.7 ns 313,114.84 ns 244,459.47 ns 40,907,400.0 ns 1.27 0.01 728 B 1.00
PdqSort_Span_Sequence 1000000 3,531,986.0 ns 70,239.72 ns 130,193.83 ns 3,541,800.0 ns 0.11 0.00 640 B 0.88
PdqSort_Unguarded_Sequence 1000000 3,128,238.6 ns 58,644.90 ns 142,749.78 ns 3,071,100.0 ns 0.10 0.01 640 B 0.88
PdqSort_Unmanaged_Sequence 1000000 3,168,820.9 ns 61,089.31 ns 171,300.97 ns 3,105,800.0 ns 0.10 0.01 640 B 0.88
BuildInSort_Reverse 1000000 77,981,876.9 ns 532,221.70 ns 444,429.23 ns 78,049,400.0 ns 2.42 0.03 728 B 1.00
PdqSort_Span_Reverse 1000000 5,311,619.4 ns 105,811.47 ns 176,787.20 ns 5,314,500.0 ns 0.16 0.01 640 B 0.88
PdqSort_Unguarded_Reverse 1000000 4,810,227.8 ns 95,275.68 ns 159,184.27 ns 4,770,700.0 ns 0.15 0.01 640 B 0.88
PdqSort_Unmanaged_Reverse 1000000 4,618,975.9 ns 63,517.07 ns 93,102.50 ns 4,593,700.0 ns 0.14 0.00 640 B 0.88
BuildInSort_Peek 1000000 201,730,586.7 ns 2,203,914.30 ns 2,061,542.81 ns 201,139,300.0 ns 6.25 0.07 728 B 1.00
PdqSort_Span_Peek 1000000 55,542,364.3 ns 789,530.44 ns 699,898.17 ns 55,295,000.0 ns 1.72 0.03 640 B 0.88
PdqSort_Unguarded_Peek 1000000 53,611,769.2 ns 688,481.56 ns 574,913.28 ns 53,395,400.0 ns 1.66 0.03 640 B 0.88
PdqSort_Unmanaged_Peek 1000000 54,724,725.0 ns 613,511.81 ns 478,989.67 ns 54,677,650.0 ns 1.69 0.02 640 B 0.88
BuildInSort_ReversePeek 1000000 198,181,523.1 ns 1,083,538.51 ns 904,803.73 ns 198,010,200.0 ns 6.15 0.09 728 B 1.00
PdqSort_Span_ReversePeek 1000000 54,943,292.3 ns 571,854.87 ns 477,524.72 ns 54,833,900.0 ns 1.70 0.02 640 B 0.88
PdqSort_Unguarded_ReversePeek 1000000 53,528,013.3 ns 669,241.94 ns 626,009.32 ns 53,325,700.0 ns 1.66 0.02 640 B 0.88
PdqSort_Unmanaged_ReversePeek 1000000 53,984,115.4 ns 976,304.65 ns 815,258.60 ns 53,689,900.0 ns 1.67 0.03 640 B 0.88

About

Pdq排序算法的C#实现

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages