¿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)?