Various places online indicate that throwing exceptions has fairly poor perforamnce on older versions of G++; however, I'm having a hard time finding benchmarks for modern 4.x G++. Does anyone have experience with this? Are there any good benchmarks on modern GCC? I understand that exceptions aren't meant to be thrown often, so it doesn't usually matter if exceptions are a little slow, but I'd like to understand the performance a little better. If anyone knows where I can find notes on how the exception propagation mechanism works at a fairly low level that would also be helpful. I'm trying to get a picture of where the costs come from, aside from calling destructors as the stack unwinds.