On top of all the other reasons already mentioned, the memory expansion code for basic_string<> in 3.0 wasn't as good as it could be (and it wasn't strictly conforming in some cases). These problems have already been fixed for 3.1; there are some spiffy benchmarks in the libstdc++ mailing list archives.
If building from source, there is a library snapshot (called 3.0.95) which can be used for the 3.0 compiler. Dunno how this would work with Debian. Phil -- If ye love wealth greater than liberty, the tranquility of servitude greater than the animating contest for freedom, go home and leave us in peace. We seek not your counsel, nor your arms. Crouch down and lick the hand that feeds you; and may posterity forget that ye were our countrymen. - Samuel Adams