char buf[512];
while(!feof(in)){
fread(in, buf, 512, 1);
fwrite(out, buf, 512, 1);
}
Какой оптимальный размер буфера? ... оптимального размера буфера для считывания файла и запись в файл?т.е. конкретно для операций чтения/записи в данном случае процессор не важен и почти не нужен.
The Arduino language (based on Wiring) is implemented in C/C++, and therefore has some differences from the Processing language, which is based on Java.что в переводе означает: "отличия языка arduino от Processing", но и также, что "язык" ардуино реализован на Си++.
Т.е. у вас получается измерение среднего времени выполнения операций чтения+записи.
Вот здесь как-то странно выглядит первый столбец (1кБ), по какой-то непонятной причине он показал лучше результат чем следующий (2кБ).
16кБ вполне себе ожидаемо показал результаты гораздо лучше чем все предыдущие, а вот почему 16кБ опередил 32кБ и даже 64кБ - не совсем понятно. Вполне возможно, что здесь работают какие-то особые механизмы кеширования, возможно упреждающего чтения, но могут влиять другие факторы, например фрагментация диска, тип файловой системы, размер кластера и размер сектора (обычно он 512байт, но в некоторых больших дисках бывает 4кБ). Вполне ожидаемо снижение оверхеда программы по мере увеличения размера буфера, вообще интересно посмотреть на картину происходящего по мере дальнейшего увеличения размера буфера до 10МБ :)