¿Cómo funciona String.Contains? [duplicar]

Posible duplicado:
¿Qué algoritmo .Net utiliza para buscar un patrón en una cadena?

Tengo un bucle en mi programa que obtiene una línea de un archivo. Luego se verifica si la línea contiene una cadena

if(line.Contains("String"))
{
    //Do other stuff
}

Hay más de 2 millones de filas en el archivo, por lo que si puedo acelerar la velocidad incluso 1/10 de milisegundo, esto me ahorraría más de 3 minutos en cada ejecución.

Entonces ... Digamos que una línea tiene 1000 caracteres de largo, ¿es más rápido buscar una cadena corta o larga, o no hace la diferencia?

line.Contains("ABCDEFGHIJKLMNOPQRSTUVWXYZ");

o

line.Contains("ABCDEFG")

Gracias de antemano.