• Acasă
  • Despre noi
  • Autori
  • Mărturii
  • Arhivă
  • Trimite Articol
  • Contact

WORLDIT

Lumea în 1 și 0.

  • Știri
    • Tehnologie
    • Tehnologie mobilă
    • Securitate
    • Developers
    • Știință
    • Benzi desenate
    • Jocuri
    • Intern
  • Tehnic
    • Browser
    • C#
    • C/C++
    • Challenge
    • HTML/CSS
    • Javascript, Ajax, jQuery
    • Open Source
    • PHP
    • Python
    • Securitate IT
    • Socializare
    • WordPress
    • Altele
  • Recenzii
  • Interviuri
  • Evenimente

Cum afli timpul de executie al unei aplicatii in C/C++?

7
  • Publicat de Ekart Dragos-Ioan
  • în C/C++ · Tehnic
  • — 29 ian., 2011 at 12:18 pm

Participarea la olimpiada de informatica este foarte importanta. In timp ce ne pregatim trebuie sa stim daca algoritmul implementat are vreo sansa se inscrie in timpii ceruti de problema. Putem testa asta adaugand un mic snippet in codul nostru. In C++ vom avea nevoie de ctime iar in C de time.h.

#include<ctime> //in C++
#include<time.h> //in C

double start , stop; //declaram variabilele start si stop

Unde dorim sa incepem masurarea timpului vom adauga

start=clock();

iar in locul unde dorim sa oprim contorizarea vom adauga

stop=clock();

Pentru a vedea timpul scurs in acel interval adaugati dupa linia de mai sus.

cout< <(stop-start)/CLOCKS_PER_SEC; //sau printf("%lf", (stop-start)/CLOCKS_PER_SEC); in C

Atentie!

Daca datele de intrare la veti scrie manual de la tastatura iar aceste operatii sunt incluse in perioada de calcul, atunci timpul scurs va lua in calcul si timpul pierdut pentru scrierea datelor.

Etichete: ctimecum masori timpul de executieinformaticamasurarea timpului de executietime in c++tutorial C#tutorial c/c++

— Dragos-Ioan Ekart a scris 1 articol

Sunt pasionat de informatica din clasa a VII-a. De atunci am lucrat in action script 3.0 ( daca ma intrebi ceva din el acum nu mai stiu nimic), C++ (trebuie la scoala), si limbajul meu preferat de programare pyton. Sunt un web develepor care lucreaza in django un framework de python pentru web, si sunt dornic ca cunosc cat mai multe din acest domeniu. Sunt elev in clasa a XII-a si sunt de parere ca "Diferenta dintre un programator si un informatician este aceasi ca a unui matematician si un contabil"

  • Articolul anterior Codul sursa de la Kaspersky a fost furat si e disponibil online
  • Articolul următor Concursuri de informatica si soft in 2011

7 Comentarii

  1. SynnNox spune:
    ianuarie 29, 2011 la 1:12 pm

    Ai o mica greseala. Este CLOCKS_PER_SEC, nu CLOCK_PER_SEC. 😉

  2. Andrei spune:
    ianuarie 29, 2011 la 1:19 pm

    Am editat, a fost o mica scapare din partea mea.

  3. Phoenix spune:
    ianuarie 29, 2011 la 10:48 pm

    Wow, multumesc. Chiar vroiam sa gasesc un timer de mult timp 😎

  4. Lilian spune:
    ianuarie 29, 2011 la 11:59 pm

    Doar o mica problema. Acest program calculeaza timpul dupa ticurile procesorului ceea ce inseamna ca in caz ca de exemplu porniti alte programe si ele ocupa procesorul timpul va difirentia. Faceti experimente, incarcati procesorul si porniti programul, apoi cu procesorul neincarcat si vedeti ce diferenta enorma face…

    P.S.: Asta oricum e cea mai buna solutie :). Daca calculati dupa timpul real o sa primiti un Nr intreg(ceea ce nu e bun deloc cind iti tre milisecunde). Pentru un timp cit mai real incercati sa nu incarcati procesorul cu aplicatii diferite…

  5. SAlexandu spune:
    ianuarie 30, 2011 la 8:45 am

    O alta varianta, valabila doar sub windows, este folosirea functiei GetTickCount , uni zic ca este mai precisa 🙂

  6. morpheus spune:
    ianuarie 30, 2011 la 11:57 am

    Pe Windows: QueryPerformanceCounter() si QueryPerformanceFrequency().

  7. Panthera spune:
    februarie 1, 2011 la 11:53 pm

    De acord cu morpheust. Corect e sa se afle cpu time-ul folosit de respectivul thread, nu de aplicatie per se (trebuie in cazul respectiv tinut cont de utililizarea procesorului de alte threaduri, dar asta e o cu totul alta mancare de peste). Daca e sa folosim GetTickCount atunci ne furam singuri caciula fiindca e calculat timpul procesului (care proces poate fi incetinit de chiar sistemul de operare in functie de gradul de ocupare al procesorului per total).
    Iar daca aplicatia e multi-thread, o simpla adunare a timpilor de executie a fiecarui thread e mai mult decat de ajuns (normalizata bineinteles).

    Ca referinte as adauga:

    http://www.codeproject.com/KB/system/processescpuusage.aspx
    http://www.mkssoftware.com/docs/man3/pthread_getcpuclockid.3.asp


  • Facebook

    WorldIT.info
  • Ultimele Atacuri Cibernetice din Romania – RO Hacked

    [wp_rss_retriever url="https://rohacked.bit-sentinel.com/feed/" excerpt="none" items="5" read_more="false" new_window="true" thumbnail="false" cache="0"] RO Hacked este registrul atacurilor cibernetice din România.
  • Caută

  • Articole Recomandate

    • Recent Posts
    • Tags
    • Număr record de participanți la DefCamp 2015, cel mai important eveniment dedicat securității cibernetice din Europe Centrala si de Estdecembrie 2, 2015
    • La DefCamp 2015 vei afla prin ce tehnici pot fi evitate măsurile de securitate ale sistemelor informatice criticeoctombrie 16, 2015
    • Ultima sansa sa rezervi bilete de tip Early Bird la DefCamp 2015septembrie 1, 2015
    • 15 sfaturi despre cum poti deveni un programator bun venite de la specialisti romaniaugust 4, 2015
    • algoritmica Android antivirus Apple Avadanei Andrei benzi desenate BitDefender blog browser C++ Chrome concurs eveniment Facebook Firefox Google google chrome hacking html5 infografic informatica internet Internet Explorer IT javascript linux Microsoft Mozilla Firefox online PHP programare retea sociala review Romania securitate Tehnologie Twitter web Windows Windows 7 Wordpress WorldIT worldit.info Yahoo! YouTube
  • martie 2021
    L Ma Mi J V S D
    1234567
    891011121314
    15161718192021
    22232425262728
    293031  
    « dec.    
  • Link-uri Sponsorizate

    • laptop second hand

    • Calculatoare Second Hand

    • cod voucher pc garage

  • Home
  • Tehnic
  • C/C++
  • Cum afli timpul de executie al unei aplicatii in C/C++?
  • Important

    • Bit Sentinel
    • Centrul de Cercetare în Securitate Informatică din România
    • DefCamp
  • Prieteni

    • BetiT.ro
    • bijuterii handmade
    • Computerica | Resurse gratuite PC
    • Descopera.org
    • Gadgeturi si IT – Giz.ro
  • Prieteni

    • PC – Config
    • RO Hacked
    • Stiri IT

Copyright © 2009-2014 WORLDIT. Toate drepturile Rezervate.
Termeni și condiții | Contact | Licența Creative Commons