Many developers think that sorting is a "solved" problem. "You should never want to code your own sorting routine. Just use your library sort routine. I haven't coded up a sorting algortithm since I left college." These are a few of the usual responses to the idea of anyone writing an alternative to the standard library (or framework) sorting routines. So why would Asprosys put together a library of simple sort routines for .Net?
The sorting routines included with the .Net Framework libraries are Quicksort routines that are for the most part the most efficient general purpose sorting available. For most applications the amount of data sorted is small enough that innefficiencies inherent in using a non-optimised sort are immaterial and using the builtin method is more than adequate. But for a significant minority of applications the speed up of using a more optimised solution or an algorithm more appropriate to the data can be essential.
The builtin .Net sorting routines are "safe", single threaded and slow. By using unsafe, type specific and parallelized code Asprosort Quicksort can outperform the .Net variant by between 10% and 70% for single to quad processor architectures. Mergesort can provide a stable sort at much higher speeds than using the builtin methods with complicated custom comparers. And some data shapes (such as data that is already almost entirely sorted) can be handled in ways just not available without alternative sorting algorithms.
AsproSort provides superior sorting solutions to most of the applications that need alternatives to the builtin .Net routines. But for a small minority that isn't even enough, these solutions need custom sorts specific to their data type. Here again Asprosort comes through, the included code is easily modified to create custom sort routines that can massively outperform all comers.
This, in a nutshell, is why AsproSort exists, to provide developers with access to superior solutions in those rare but important situations where the simple .Net sorting solutions are not adequate. So jump right in and enjoy. If you have any questions, suggestions or even nasty comments check back here for links to more AsproSort information.
Stephen Martin, Founder - Asprosys Inc.