Are we really having this debate again? I think what it boils down to is that the tricks that allow a good assembly programmer to outdo a compiler frequently become difficult and unmaintainable as the size of the project increases. Meanwhile, the tricks that a compiler can use don't affect maintainabilty (as long as it does them RIGHT), so it eventually pulls ahead. In other words, as your program becomes bigger, you'd be foolish not to implement some of the same things that make compiled code slower (ie, a standard calling convention with register saving), and equally foolish to implement some of the speedups that a compiler can get away with. I think even an average assembly programmer can outdo a compiler on a small piece of code. Usually, that's all that is necessary. BillW (and do you want to know how many magabytes of assembler I have that only runs on unobtainium CPUs, and I'd dearly LOVE to have be more portable!)