🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.os.linux.programowanie
5 messages
5 total messages Started by Kris_gor Wed, 09 Feb 2011 09:16
Pomiar czasu
#72089
Author: Kris_gor
Date: Wed, 09 Feb 2011 09:16
61 lines
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
#72091
Author: Marcin Konarski
Date: Wed, 09 Feb 2011 10:55
52 lines
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
#72093
Author: Kris_gor
Date: Wed, 09 Feb 2011 13:54
15 lines
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
#72094
Author: W.P.
Date: Wed, 09 Feb 2011 14:58
16 lines
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
#72095
Author: kris_gor
Date: Wed, 09 Feb 2011 18:56
7 lines
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