Click here to Skip to main content
15,877,574 members
Home / Discussions / C#
   

C#

 
GeneralRe: Why is Array.Sort() slower if I use my own comparer? Pin
robinsc16-Feb-15 2:20
robinsc16-Feb-15 2:20 
GeneralRe: Why is Array.Sort() slower if I use my own comparer? Pin
Rob Philpott16-Feb-15 2:26
Rob Philpott16-Feb-15 2:26 
GeneralRe: Why is Array.Sort() slower if I use my own comparer? Pin
robinsc16-Feb-15 2:35
robinsc16-Feb-15 2:35 
SuggestionRe: Why is Array.Sort() slower if I use my own comparer? Pin
Richard Deeming16-Feb-15 8:20
mveRichard Deeming16-Feb-15 8:20 
GeneralRe: Why is Array.Sort() slower if I use my own comparer? Pin
Rob Philpott16-Feb-15 8:22
Rob Philpott16-Feb-15 8:22 
GeneralRe: Why is Array.Sort() slower if I use my own comparer? Pin
robinsc16-Feb-15 21:57
robinsc16-Feb-15 21:57 
AnswerRe: Why is Array.Sort() slower if I use my own comparer? Pin
Dave Kreskowiak16-Feb-15 2:56
mveDave Kreskowiak16-Feb-15 2:56 
GeneralRe: Why is Array.Sort() slower if I use my own comparer? Pin
robinsc16-Feb-15 3:23
robinsc16-Feb-15 3:23 
I tried as well to build a quicksort, taken and adapted to long from Searching and Sorting Algorithms via C#[^]

But it needs longer than Array.Sort... sorry, I forgot to update the stopwatch before. But now quicksort is still slower than the others.

private void compareSortsPerformance()
{
Stopwatch sw = new Stopwatch();
int Maximum = 10000000;
Random rand = new Random();
long[] la = new long[Maximum];
for (int i = 0; i < Maximum; i++)
la[i] = rand.Next();
sw.Start();
Array.Sort(la);
Console.WriteLine("Sort without icomparable" + sw.ElapsedMilliseconds);
for (int i = 0; i < Maximum; i++)
la[i] = rand.Next();
sortKeys sk = new sortKeys();
sw.Restart();
Array.Sort(la, sk);
Console.WriteLine("Sort with icomparable" + sw.ElapsedMilliseconds);

for (int i = 0; i < Maximum; i++)
la[i] = rand.Next();
sw.Restart();
QuickSort(ref la);
Console.WriteLine("Sort with Quicksort" + sw.ElapsedMilliseconds);

}

public static void QuickSort(ref long[] x)
{
qs(x, 0, x.Length - 1);
}

public static void qs(long[] x, long left, long right)
{
long i, j;
long pivot, temp;

i = left;
j = right;
pivot = x[(left + right) / 2];

do
{
while ((x[i] < pivot) && (i < right)) i++;
while ((pivot < x[j]) && (j > left)) j--;

if (i <= j)
{
temp = x[i];
x[i] = x[j];
x[j] = temp;
i++; j--;
}
} while (i <= j);

if (left < j) qs(x, left, j);
if (i < right) qs(x, i, right);
}
QuestionConsuming SAP Web Service in C# Pin
Amoxtli15-Feb-15 22:40
Amoxtli15-Feb-15 22:40 
GeneralRe: Consuming SAP Web Service in C# Pin
Richard MacCutchan15-Feb-15 23:05
mveRichard MacCutchan15-Feb-15 23:05 
GeneralRe: Consuming SAP Web Service in C# Pin
Amoxtli15-Feb-15 23:18
Amoxtli15-Feb-15 23:18 
GeneralRe: Consuming SAP Web Service in C# Pin
Richard MacCutchan15-Feb-15 23:35
mveRichard MacCutchan15-Feb-15 23:35 
GeneralRe: Consuming SAP Web Service in C# Pin
Amoxtli15-Feb-15 23:41
Amoxtli15-Feb-15 23:41 
GeneralRe: Consuming SAP Web Service in C# Pin
Amoxtli16-Feb-15 1:18
Amoxtli16-Feb-15 1:18 
GeneralRe: Consuming SAP Web Service in C# Pin
Richard MacCutchan16-Feb-15 1:20
mveRichard MacCutchan16-Feb-15 1:20 
GeneralRe: Consuming SAP Web Service in C# Pin
Amoxtli16-Feb-15 1:25
Amoxtli16-Feb-15 1:25 
QuestionCan PdfFileWriter Support Chinese? Pin
gzhmrj15-Feb-15 22:23
gzhmrj15-Feb-15 22:23 
AnswerRe: Can PdfFileWriter Support Chinese? Pin
OriginalGriff15-Feb-15 22:26
mveOriginalGriff15-Feb-15 22:26 
Questioni need to convert merge sort algorithm to accept arrays then sort them this is the code I need to modify Pin
Member 1135438615-Feb-15 20:31
Member 1135438615-Feb-15 20:31 
AnswerRe: i need to convert merge sort algorithm to accept arrays then sort them this is the code I need to modify Pin
OriginalGriff15-Feb-15 20:42
mveOriginalGriff15-Feb-15 20:42 
GeneralRe: i need to convert merge sort algorithm to accept arrays then sort them this is the code I need to modify Pin
Member 1135438616-Feb-15 11:44
Member 1135438616-Feb-15 11:44 
GeneralRe: i need to convert merge sort algorithm to accept arrays then sort them this is the code I need to modify Pin
OriginalGriff16-Feb-15 23:24
mveOriginalGriff16-Feb-15 23:24 
QuestionExecute cobol code using c#.net Pin
Member 1144452115-Feb-15 20:04
Member 1144452115-Feb-15 20:04 
AnswerRe: Execute cobol code using c#.net Pin
Garth J Lancaster15-Feb-15 20:19
professionalGarth J Lancaster15-Feb-15 20:19 
AnswerRe: Execute cobol code using c#.net Pin
OriginalGriff15-Feb-15 20:36
mveOriginalGriff15-Feb-15 20:36 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.