Heh, std::new was some cruft I got out of backtrace(3) with some wacky embedded tool chain.
Are these gains supposed to be from inlining the top level function of malloc into new? Compared to the costs of what can go on inside malloc... Is that the biggest problem?
Dynamic linking requires calling through the PLT to get to the implementation, so there's a data dependency on determining where the code for it is.
Independent of inlining (with LTO, since the C++ language rules requires inhibit optimizing out "operator new"), the static call is far simpler.
By the way there is no such thing as std::new. We are discussing ::new.