Исходя из того, что строки имеют тенденцию иметь больше строчных букв, теоретически ToLower должен быть быстрее (много сравнений, но мало назначений).
В C, или при использовании индивидуально доступных элементов каждой строки (таких как строки C или строковый тип STL в C ++), это фактически байтовое сравнение, поэтому сравнение UPPER
ничем не отличается от lower
.
Если бы вы были хитрыми и вместо этого загрузили свои строки в массивы long
, вы бы получили очень быстрое сравнение всей строки, потому что она может сравнивать 4 байта за раз. Однако время загрузки может сделать его не стоящим.
Зачем вам нужно знать, что быстрее? Если вы не выполняете метрическую контрольную нагрузку сравнений, то выполнение одного цикла на пару быстрее не имеет значения для скорости общего выполнения и звучит как преждевременная оптимизация:)