¿Cuál es la forma más rápida de analizar una línea en Delphi?

Tengo un archivo enorme que debo analizar línea por línea. La velocidad es esencial.

Ejemplo de una línea:

Token-1   Here-is-the-Next-Token      Last-Token-on-Line
      ^                        ^
   Current                 Position
   Position              after GetToken

Se llama a GetToken, que devuelve "Here-is-the-Next-Token" y establece CurrentPosition en la posición del último carácter del token para que esté listo para la próxima llamada a GetToken. Las fichas están separadas por uno o más espacios.

Suponga que el archivo ya está en una StringList en la memoria. Cabe en la memoria fácilmente, digamos 200 MB.

Solo me preocupa el tiempo de ejecución del análisis. ¿Qué código producirá la ejecución más rápida absoluta en Delphi (Pascal)?