Tomash Brechko <[EMAIL PROTECTED]> writes:
> - optimization in question might well turn out to be misoptimization > for anything but microbenchmarks (read LKML for cache flush/dirty > page issues). See http://gcc.gnu.org/ml/gcc/2007-10/msg00607.html for a test case that shows where it can go horrible wrong (optimized code significantly slower than unoptimized code) Admittedly it is a constructed one, but I don't think it is that unrealistic. > - there's also a good talk on lawyer-ish vs attached-to-reality > approach. I personally doubt those who continue to advise to use > volatile are actually writing such multithreaded programs. Most > argue just for the fun of it. Also they don't volunteer to audit multi-million LOC code bases to add volatile everywhere. That has to be always taken into account. For the compiler it is a relatively simple localized change and then the computer does all the work. For the compiled programs auditing/changing this would be a huge effort done by humans. -Andi