
On Mon, Jul 6, 2009 at 8:37 AM, Vladimir Prus <vladimir@codesourcery.com>wrote:
I'll test with SSE and other compiler settings next. Is there an easy way to add these with bjam?
Because bjam is actually a low-level build engine, it is pretty much impossible to do anything with it at all. Boost.Build allows you to pass any flags to compiler you see fit, my previous post gives the actual syntax I have used.
Thanks for the suggestion. I ended up passing those flags you suggested, and obtained this result: cl : Command line warning D9002 : ignoring unknown option '-march=nocona' cl : Command line warning D9002 : ignoring unknown option '-mfpmath=sse' I've checked and my cheap version of MSVC 8.0 apparently doesn't support sse. So I can't benchmark with your recommended options, without spending more money on a volunteer project. With default release optimizations, all 3 of my algorithms are roughly twice as fast as std::sort on randomized data. I'm stripping out denorms from the float tests because they skew results so much and aren't realistic data, and my floating-point performance improvement dropped from fantastic to reasonable. I've tested string_sort on a Dickens novel and had comparable results to random data, relative to std::sort (a little better than 2X faster). For now I'm using random bits for all my performance testing, which tends to generate long strings and I admit doesn't seem to be realistic string data, though it does test corner-cases.