feat: написаны функции сравнения времени выполнения

This commit is contained in:
root
2024-10-02 20:07:05 +03:00
parent 4b05989ba5
commit 414f189d18
2 changed files with 100 additions and 29 deletions

View File

@ -1,17 +1,43 @@
#include <stdio.h>
#include <time.h>
extern void fill_arr(int* arr, size_t size, size_t row_size);
extern void fill_arr1(int* arr, size_t size, size_t row_count);
extern void fill_arr2(int* arr, size_t size, size_t row_count);
double measure_fill_time(void(*function)(int*, size_t, size_t), int* arr, size_t size, size_t row_count)
{
const size_t times = 10000000;
clock_t begin = clock();
for (size_t i = 0; i < times; i++)
{
function(arr, size, row_count);
}
clock_t end = clock();
return (double)(end - begin)/(CLOCKS_PER_SEC);
}
int main()
{
const int arr_size = 256;
int array[arr_size];
fill_arr(array, arr_size, 16);
int array1[arr_size];
printf("String methods took %fs to loop 10,000,000 times\n", measure_fill_time(fill_arr1, array1, arr_size, 16));
for (size_t i = 0; i < arr_size; i++)
{
printf("%d ", array[i]);
printf("%d ", array1[i]);
}
printf("\b \n");
int array2[arr_size];
printf("Lea methods took %fs on to loop 10,000,000 times\n", measure_fill_time(fill_arr2, array2, arr_size, 16));
for (size_t i = 0; i < arr_size; i++)
{
printf("%d ", array2[i]);
}
printf("\b \n");
return 0;
}