
Ummm, well I confess I'm not using any transforms - just the expression template creation - then I unpick the expression myself. Partly that allowed me to get things going quickly, and partly it's allowed me to do all kinds of interesting things with the expression. The actual code that unpicks the expression is somewhat verbose, but not all that complex (not too much template depth... I hope).
It sounds like you're not actually using Proto for that much. Which leaves me puzzled because I can't figure where the perf problems would be coming from. Disclaimer: I haven't actually looked at the code, because I'm on vacation.
Nod, could be my template metaprogramming that's at fault.... I can't help thinking that if I rolled my own ET's I could eliminate most of those by rolling the functionality directly into the operator overloads.... of course that may end up being even worse :-( Anyhow I've filed a bug report on the ADL issue, Thanks, John.