What is the fastest possible square number test in *Mathematica*, both for machine size and big integers?

I presume starting in version 8 the fastest will be a dedicated C LibraryLink function.