У меня есть этот код (моя функция strlen)
size_t slen(const char *str)
{
size_t len = 0;
while (*str)
{
len++;
str++;
}
return len;
}
Выполнение while (* str ++)
, как показано ниже, время выполнения программы составляет намного больше:
while (*str++)
{
len++;
}
Я делаю это, чтобы проверить код
int main()
{
double i = 11002110;
const char str[] = "long string here blablablablablablablabla"
while (i--)
slen(str);
return 0;
}
В первом случае время выполнения составляет около 6,7 секунды, а во втором (с использованием * str ++
) время составляет около 10 секунд!
Почему такая большая разница?