diff --git a/csharp-algorithms/BucketSort/BucketSort/BucketSort.csproj b/csharp-algorithms/BucketSort/BucketSort/BucketSort.csproj
index 79e7148fd0..62be4f867f 100644
--- a/csharp-algorithms/BucketSort/BucketSort/BucketSort.csproj
+++ b/csharp-algorithms/BucketSort/BucketSort/BucketSort.csproj
@@ -2,13 +2,13 @@
Exe
- net6.0
+ net10.0
enable
enable
-
+
diff --git a/csharp-algorithms/BucketSort/BucketSort/BucketSortBenchmarks.cs b/csharp-algorithms/BucketSort/BucketSort/BucketSortBenchmarks.cs
new file mode 100644
index 0000000000..084c99ee35
--- /dev/null
+++ b/csharp-algorithms/BucketSort/BucketSort/BucketSortBenchmarks.cs
@@ -0,0 +1,50 @@
+using BenchmarkDotNet.Attributes;
+
+namespace BucketSort;
+
+public class BucketSortBenchmarks
+{
+ private readonly BucketSortMethods _sorter = new();
+ private int[] _source = [];
+ private int[] _work = [];
+
+ [Params(200, 2_000, 20_000)]
+ public int Size { get; set; }
+
+ [Params("Random", "Sorted")]
+ public string Input { get; set; } = "Random";
+
+ [GlobalSetup]
+ public void Setup()
+ {
+ _source = Input == "Random"
+ ? BucketSortMethods.CreateRandomArray(Size)
+ : BucketSortMethods.CreateSortedArray(Size);
+ _work = new int[Size];
+ }
+
+ [Benchmark]
+ public int[] SortArray()
+ {
+ _source.CopyTo(_work, 0);
+
+ return _sorter.SortArray(_work);
+ }
+
+ [Benchmark]
+ public int[] SortArrayOptimized()
+ {
+ _source.CopyTo(_work, 0);
+
+ return _sorter.SortArrayOptimized(_work);
+ }
+
+ [Benchmark(Baseline = true)]
+ public int[] ArraySort()
+ {
+ _source.CopyTo(_work, 0);
+ Array.Sort(_work);
+
+ return _work;
+ }
+}
diff --git a/csharp-algorithms/BucketSort/BucketSort/BucketSortMethods.cs b/csharp-algorithms/BucketSort/BucketSort/BucketSortMethods.cs
index 6a2f5431e3..b1947d3b3c 100644
--- a/csharp-algorithms/BucketSort/BucketSort/BucketSortMethods.cs
+++ b/csharp-algorithms/BucketSort/BucketSort/BucketSortMethods.cs
@@ -1,155 +1,142 @@
-using BenchmarkDotNet.Attributes;
+namespace BucketSort;
-namespace BucketSort
+public class BucketSortMethods
{
- public class BucketSortMethods
+ public int[] SortArray(int[] array)
{
- public IEnumerable