O que é mais rápido, ativar a string ou o tip

Digamos que eu tenha a opção de identificar um caminho de código a ser baseado em uma comparação de cadeias de caracteres ou se for do tipo:

Qual é mais rápido e por quê?

switch(childNode.Name)
{
    case "Bob":
      break;
    case "Jill":
      break;
    case "Marko":
      break;
}

if(childNode is Bob)
{
}
elseif(childNode is Jill)
{
}
else if(childNode is Marko)
{
}

Atualizar A principal razão pela qual pergunto isso é porque a instrução switch é perculiar sobre o que conta como um caso. Por exemplo, ele não permitirá que você use variáveis, apenas constantes que são movidas para a montagem principal. Eu assumi que tinha essa restrição devido a algumas coisas estranhas que estava fazendo. Se estiver traduzindo apenas para elseifs (como comentou um dos pôsteres), por que não permitimos variáveis nas instruções de caso?

Embargo Estou pós-otimizando. Este método é chamadomuito vezes em uma parte lenta do aplicativo.

questionAnswers(46)

yourAnswerToTheQuestion