Qual é a maneira mais rápida de analisar uma linha no Delphi?
Eu tenho um arquivo enorme que devo analisar linha por linha. A velocidade é essencial.
Exemplo de uma linha:
Token-1 Here-is-the-Next-Token Last-Token-on-Line
^ ^
Current Position
Position after GetToken
O GetToken é chamado, retornando "Aqui está o próximo token" e define o CurrentPosition para a posição do último caractere do token, para que esteja pronto para a próxima chamada ao GetToken. Os tokens são separados por um ou mais espaços.
Suponha que o arquivo já esteja em um StringList na memória. Cabe na memória facilmente, digamos 200 MB.
Estou preocupado apenas com o tempo de execução da análise. Qual código produzirá a execução mais rápida absoluta em Delphi (Pascal)?