g++とicpcではfuncとfunc2の速度の差はほとんどありませんでした。
素人目に見ると、func()は任意の例外を搬出し、func2() throw()は例外を搬出しない事が
保障されているので、catch(...)を挿入すべきはむしろfunc()を実行するブロックだと思えるのですが
その辺どうなっているのでしょうか?