• 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

VPS Starter Arubacloud
0 głosów
752 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 (349,740 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 556 wizyt
pytanie zadane 1 lipca 2016 w C i C++ przez niezalogowany
0 głosów
3 odpowiedzi 249 wizyt
pytanie zadane 11 kwietnia 2016 w C i C++ przez igor1988bb Użytkownik (800 p.)
+1 głos
1 odpowiedź 176 wizyt

93,018 zapytań

141,985 odpowiedzi

321,274 komentarzy

62,362 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

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...