MSVS and g++ debug build both disable inline (presumably to ease debugging). The performance difference vis-a-vis release build is mostly due to this single factor, according to [[optimized c++]]
The same author asserts that inlining is probably the most powerful code optimization.
Pimpl effectively disables inline.
However, c++faq gives many reasons for and against inline.