On Sun, Oct 28, 2007 at 17:51:57 +0100, Michael Matz wrote: > I was merely showing that this transformation _does_ matter in some cases > to refute opposite claims which seemed to be expressed too airy in this > thread.
You got my intent all wrong. Performance matters for both sides. And currently the only option for multithreaded programs is to use volatile, which _greatly_ hurts performance. What I was trying to say, is that it would be nice to have -fno-thread-unsafe-optimization option. And I was trying to say that when you _enable_ this option, the performance won't be hurt much, while the program will become thread-safe. I never even said that this option should be the default (though it would be reasonable for -pthread or -fopenmp). But there are obviously people who think there's no need in such option whatsoever, because "threaded code is broken by definition, and I don't write it anyway". Even if mutithreading is of no immediate concern for you, it will become tomorrow then you decide to run your loop on all 1024 cores your cell phone provides. So you can't argue that this option wouldn't be nice to have, no? And as I understood this discussion, there will be such option in GCC in the nearest future. -- Tomash Brechko