Quem afinal de contas eh o mais rapido na hora de fazer uma comparacao?
str==""
str.Equals("")str==string.empty
str.Equals(string.empty)
string.Length==0
Depois de muita busca no google e no google groups achei alguns artigos sobre o assunto.
Mas o melhor foi ter encontrado um chart com comparativos com as velocidades onde:
As string normal tem 10 caracteres e as long tem 100.
O que acontece eh que o uso de "" faz com que o framework crie um objeto para entao verificar se o mesmo esta vazio, o que interfere na performance. A melhor opcao eh o uso do str.Lenght == 0 como mostra o grafico. Claro que isso pode ser diferente nas proximas versoes do .NET mas de qualquer forma vale o conhecimento.
fontes: Brendan Tompkins [MVP] e Google Groups