А есть ли на современном оборудовании (SATA диск) и в современном linuxе (2.6.9) разница в скорости чтения данных в следующих 2х вариантах программы? Строчки, принадлежащие разным вариантам соответственно помечены цифрой в скобках.
#include <stdio.h>
int main ()
{
int x;
int xx [100000];
int i, z;
FILE *f;
f = fopen ("test6.dat", "r");
for (z = 1; z <= 200; z++)
(1) for (i = 1; i <= 800000; i++)
(2) for (i = 1; i <= 8; i++)
(1) fread (x, sizeof (x), 1, f);
(2) fread (xx, sizeof (xx), 1, f);
fclose (f);
return 0;
}
По моим проверкам
date +%s && ./test6 && date +%s;
ощутимой разницы не наблюдается.
Т. е. получается на уровне программы уровня пользователя не стоит заморачиваться с чтением данных большими "блоками" для увеличения скорости, а можно просто читать по одному значению?
Ответ на:
комментарий
от Agent666
Ответ на:
комментарий
от Agent666
Ответ на:
комментарий
от Reset
Ответ на:
комментарий
от Agent666
Ответ на:
комментарий
от Agent666
Ответ на:
комментарий
от Agent666
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от rei3er
Ответ на:
комментарий
от mky
Ответ на:
комментарий
от ksicom
Ответ на:
комментарий
от mky
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Некопирование файлов (2009)
- Форум glibc 2.3.2 - need error report (2004)
- Форум Помогите разобраться с kdevelop (2008)
- Форум Утилита для изменения аптайма (2008)
- Форум unicode and C: как это работает? (2007)
- Форум Программа на Си падает, при выделении памяти (2014)
- Форум Да помогите вы мне с этим wav-player'oм!!! (2003)
- Форум Ошибки (2008)
- Форум Правильное считывание бинарных структур (2012)
- Форум Как зареверсировать такую пакость? (2018)