I haven't seen any evidence that one is a clear winner in terms of security. Using a salted string with both should produce a very secure hash. Whirlpool is newer & not used as much(in my experience) and SHA512 is generated faster, so I would go with SHA512. You could definitely argue that the difference is negligible, though, from what I've read.
be wary if your application links to other languages specifically passing hashes to c# apps for decryption there's padding issues to be had since php and .net handle byte padding differently.
__________________
A programmer is just a tool which converts caffeine into code