• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed Czas wykonania w nanosekundach

Object Storage Arubacloud
0 głosów
712 wizyt
pytanie zadane 5 listopada 2015 w C i C++ przez Wilier Bywalec (2,570 p.)
zamknięte 6 listopada 2015 przez Eryk Andrzejewski

Hej, 

mam napisac program, który porówna czas wrzucenie 1000 elementów do różnych struktur (vektor, lista itp). 

Czas jest bardzo niewielki i dobrze byłoby uzyć np. nanosekund. Spokojnie mógłbym użyć funkcji z bibioteki <chrono> lub <sys/time.h> ale posiadam MS Visual 2010 i znalazłem info, że on nie obsługuje tych bibliotek. Czy jest dla mnie jakiś retunek :) ?

poniżej kawałek kodu

clock_t start = clock();
    
    for (auto i = 0u; i < 1000u; i++)
    {
        vector.push_back(i);
    }
   
	clock_t end = clock();

    fstream plik;
 
	plik.open( "czas.txt", std::ios::in | std::ios::out | ios::app);
    double czas = (double)(end - start) / (CLOCKS_PER_SEC);

 

komentarz zamknięcia: Problem rozwiązany

1 odpowiedź

+2 głosów
odpowiedź 5 listopada 2015 przez adrian17 Ekspert (345,220 p.)
wybrane 6 listopada 2015 przez Eryk Andrzejewski
 
Najlepsza

Jest, Windowsowy QueryPerformanceCounter (std::high_resolution_clock z <chrono> go używa w nowszych wersjach VS) (nie odpalałem tego kodu, ale pisałem go parę razy i powinien idealnie zadziałać):

LARGE_INTEGER t1, t2, freq;

QueryPerformanceFrequency(&freq);

QueryPerformanceCounter(&t1);

// mierzony kod

QueryPerformanceCounter(&t2);

double sekundy = (t2.QuadPart-t1.QuadPart) * 1.0 / freq.QuadPart;
double nanosekundy = sekundy / 1000000000;


W każdym razie z włączonymi optymalizacjami (a nawet bez nich) przy zaledwie 1000 elementach czas będzie na poziomie błędu, a co dopiero różnice w czasie. Lepiej porównywać z 500k+ elementami.

komentarz 6 listopada 2015 przez Wilier Bywalec (2,570 p.)
dzięki, działa

Podobne pytania

0 głosów
3 odpowiedzi 470 wizyt
pytanie zadane 1 lipca 2016 w C i C++ przez niezalogowany
0 głosów
3 odpowiedzi 233 wizyt
pytanie zadane 11 kwietnia 2016 w C i C++ przez igor1988bb Użytkownik (800 p.)
+1 głos
1 odpowiedź 162 wizyt

92,634 zapytań

141,505 odpowiedzi

319,883 komentarzy

62,015 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...