
On 3/25/07, Lewis Hyatt <lhyatt@princeton.edu> wrote:
Ok. I have just re-compiled with gcc and have fixed all of the reported errors. Also, I found a few bugs and have fixed those too. I am posting this working version on vault in the sorting directory with 3 test programs showing radixsort, radix quicksort, and multikey quicksort. Suprisingly, they are all faster than std::sort, mostly by a factor of three and more, for floats, radix sort is faster by a factor of five.
I was able to compile your radixsort test file on gcc+cygwin, and got that it was faster than std::sort by a factor of (5, 1.1) for (float, int) in a few trials. I could not compile any of your other test files, though, because of various errors. I also tried to compile your code on Linux, but was unable to because your Timer classes are windows-specific.
You should use boost::progress_timer to do the timings, since it is already designed to be portable. You also should not have "stdafx.h", TCHAR, tmain, or any other microsoft mumbo-jumbo anywhere in any of your code.
I might suggest, since you are on Windows, that you just download cygwin and make sure you can compile all your code on gcc in cygwin before you post it. You said you compiled these examples with gcc, but I don't see how, unless your gcc had access to microsoft-specific header files maybe?
In any case, I would be very interested to try out the multi-key-quicksort and other routines if you can post a working example and an explanation of how to use it.
Also, just to make sure, you are putting the files in the vault in /Sorting, not /Algorithms/Sorting, right?
-Lewis
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Yes. The files are all in /Sorting. I have redone the program on gcc so that there are no operating system dependencies, and also I have fixed all of the errors, and it is uploaded to vault. If you are running a low-memory machine, then you should consider modifying the maxn variable so that it is lower.