Я осознал что не правильно замерял скорость выполнения цикла - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Вообщем что из этого быстрее (м.б. одинаково)
for (int i=0; i<kol; i+=3)
 {
 verchar[i]++;
 verchar[i+1]++;
 verchar[i+2]++; 
}
или
for (int i=0; i<kol; i++)
 {
 verchar[i]++;
}
Оценивал скорость с помощью printf("%iK\n", i/1000); - Понял, что это вообще бред

Решение задачи: «Я осознал что не правильно замерял скорость выполнения цикла»

textual
Листинг программы
#include <stdio.h>
#include <time.h>
int main () {
 long int n=1e6,k,i;
 clock_t start,end; double elapsed;
 const int kol=128;
 char *verchar[kol];
 
start=clock();
for (k=0; k<n; k++) {
 for (int i=0; i<kol; i+=3) {
  verchar[i]++;
  verchar[i+1]++;
  verchar[i+2]++;
 }
}
end=clock();
elapsed=((double)(end-start)/CLK_TCK);
printf ("\n1)%lf",elapsed);
 
start=clock();
for (k=0; k<n; k++) {
 for (int i=0; i<kol; i++) {
  verchar[i]++;
 }
}
end=clock();
elapsed=((double)(end-start)/CLK_TCK);
printf (" 2)%lf",elapsed);
getchar();
return 0;
}

Объяснение кода листинга программы

В этом коде выполняется два цикла, каждый из которых демонстрирует разные способы инкрементирования элементов массива. 1) Первый цикл инкрементирует каждый третий элемент массива verchar. 2) Во втором цикле инкрементируются все элементы массива verchar. После выполнения каждого из циклов измеряется время, затраченное на его выполнение, и выводится на экран. Для измерения времени используется функция clock(), которая возвращает процессорное время, потраченное на выполнение программы. Функция CLK_TCK используется для получения частоты процессора. Для удобства восприятия времени, оно переводится в формат с плавающей точкой (double). Для вывода результатов используется функция printf(). Для завершения работы программы используется функция getchar(). Код использует стандартные библиотеки C - stdio.h и time.h.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4 из 5
Похожие ответы