Thread View: pl.comp.os.linux.programowanie
5 messages
5 total messages
Started by Kris_gor
Wed, 09 Feb 2011 09:16
Pomiar czasu
Author: Kris_gor
Date: Wed, 09 Feb 2011 09:16
Date: Wed, 09 Feb 2011 09:16
61 lines
2615 bytes
2615 bytes
Witam!! Temat wałkowany już wielokrotnie... Z samym pomiarem czasu nie ma problemu natomiast jest kwestia wyniku.... ;-) Otóż chodzi mi o mierzenie czasu zapisu na dysk/flash... Jesli wykonam kod taki jak poniżej: [...] gettimeofday(&tv1,&tz); //start pomiaru czasu nanosleep(&req,&rem); // gettimeofday(&tv2,&tz); // koniec pomiaru czasu wykonania [ms] [/...] potem: tv2-tv1... gdzie nanosleep jest ustawiony na opóźnienie 1[s] to w wyniku dostaję: delay_1s 1000.01940[ms] czyli widać, że nasza sekunda trwa nieco dłużej i jest to prawidłowe zjawisko zważywszy na narzut systemu Teraz to samo robię zapisując plik o wielkości 1MB na dysk (większego nie za bardzo mogę bo to linux embedded) [...] gettimeofday(&tv1,&tz); //start pomiaru czasu fwrite(memory,1,MEGABYTE,pRW); fflush(pRW); gettimeofday(&tv2,&tz); // koniec pomiaru czasu wykonania [ms] [/...] no i ten wynik jest już mało satysfakcjonujący ;-( write_1MB 3.56920[ms] (na komputerze stacjonarnym) write_1MB 29.62500[ms] (embedded/flash) write_1MB 14.93800[ms] (embedded/flash) write_1MB 42.81300[ms] (zapis na pendrive'a), dochodzi jeszcze obsługa USB oczywiście plik zapisuję wielokrotnie i wyliczam srednią. Jak na mój gust wyniki te są zbyt krótkie i nie wiem gdzie leży tego przyczyna. Wydawało mi się, że fflush() wymusza zapis na dysk w danym momencie, wiec teoretycznie wywołując fwrite()+fflush() powinienem uzyskać jakieś realne wartości. Prawdopodobnie coś źle robię, tylko jeszcze nie wiem co lub też linux dokłada swoich parę groszy, a i tu też nie wiem gdzie... Jakieś sugestie... Pozdrawiam
Re: Pomiar czasu
Author: Marcin Konarski
Date: Wed, 09 Feb 2011 10:55
Date: Wed, 09 Feb 2011 10:55
52 lines
2155 bytes
2155 bytes
On Wed, 09 Feb 2011 10:16:09 +0100, Kris_gor <kris_gor@poczta.onet.pl> wrote: > Witam!! > > Temat wałkowany już wielokrotnie... > > Z samym pomiarem czasu nie ma problemu natomiast > jest kwestia wyniku.... ;-) > > Otóż chodzi mi o mierzenie czasu zapisu na dysk/flash... > > Jesli wykonam kod taki jak poniżej: > > [...] > gettimeofday(&tv1,&tz); //start pomiaru czasu > nanosleep(&req,&rem); // > gettimeofday(&tv2,&tz); // koniec pomiaru czasu wykonania [ms] > [/...] > > potem: > tv2-tv1... > > gdzie nanosleep jest ustawiony na opóźnienie 1[s] > to w wyniku dostaję: > > delay_1s 1000.01940[ms] > > czyli widać, że nasza sekunda trwa nieco dłużej i jest to prawidłowe > zjawisko zważywszy na narzut systemu > > > Teraz to samo robię zapisując plik o wielkości 1MB na dysk > (większego nie za bardzo mogę bo to linux embedded) > > [...] > gettimeofday(&tv1,&tz); //start pomiaru czasu > fwrite(memory,1,MEGABYTE,pRW); > fflush(pRW); > gettimeofday(&tv2,&tz); // koniec pomiaru czasu wykonania [ms] > [/...] man fsync po za głównym tematem zwróć uwagę na SEE ALSO, w szczególności na hdparm. Pozdrawiam. -- Huginn GCS d? s: a C++$() UBLS++++$ P++ L++++$ E--- W+(-) N++ w-- O M- V- PS+ PE++ Y PGP- t--- 5-- X- R !tv b++ DI+++ D+ G e* h r++ y**
Re: Pomiar czasu
Author: Kris_gor
Date: Wed, 09 Feb 2011 13:54
Date: Wed, 09 Feb 2011 13:54
15 lines
1461 bytes
1461 bytes
W dniu 2011-02-09 11:55, Marcin Konarski pisze: > > man fsync > > po za głównym tematem zwróć uwagę na SEE ALSO, w szczególności na hdparm. Dziękuję za szybką odpowiedz, dołożyłem obsługę fsync i faktycznie czasy skoczyły znacznie do góry i są teraz na poziomie 250-300[ms]. Co do hdparm to niestety, ale twórcy mojej platformy nie dostarczyli tego narzędzia. Pozdrawiam
Re: Pomiar czasu
Author: W.P.
Date: Wed, 09 Feb 2011 14:58
Date: Wed, 09 Feb 2011 14:58
16 lines
1487 bytes
1487 bytes
Użytkownik Kris_gor napisał: > W dniu 2011-02-09 11:55, Marcin Konarski pisze: > >> man fsync >> >> po za głównym tematem zwróć uwagę na SEE ALSO, w szczególności na hdparm. > > Dziękuję za szybką odpowiedz, dołożyłem obsługę fsync i faktycznie > czasy skoczyły znacznie do góry i są teraz na poziomie 250-300[ms]. > > Co do hdparm to niestety, ale twórcy mojej platformy nie dostarczyli > tego narzędzia. > Ale twórcy hdparm'a udostępniają jego źródla... więc? :) W.P.
Re: Pomiar czasu
Author: kris_gor
Date: Wed, 09 Feb 2011 18:56
Date: Wed, 09 Feb 2011 18:56
7 lines
1297 bytes
1297 bytes
W dniu 09.02.2011 15:58, W.P. pisze: > Użytkownik Kris_gor napisał: > Ale twórcy hdparm'a udostępniają jego źródla... więc? :) Hmm, niech zgadnę..... skompilować ? ;-) Dzięki.
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads