Ну, первое точно будет быстрее. Решение жестко запрограммированной, очень специфической проблемы почти всегда происходит намного быстрее, чем передача конкретного решения обычной процедуре решения проблемы. Что касается «значительно» быстрее, почему бы вам не проверить это? Запустите обе версии в цикле 10 миллионов раз и используйте TStopwatch
(или что-то еще, если у вас нет D2010 или более поздней версии), чтобы рассчитать время.
Еще одна вещь: первая, безусловно, быстрее, но она также может быть неправильной. Если length(TestString)
не гарантированно будет> = 2, здесь может возникнуть условие ошибки. Если TestString
- пустая строка, это вызовет исключение. Если нет, вы можете или не можете получить исключение в зависимости от настроек компилятора.