Szerző Téma: Parancs lefutási sebesség ellenõrzése  (Megtekintve 713 alkalommal)

Nem elérhető SnooP

  • 1798
  • SnooP
    • Profil megtekintése
Parancs lefutási sebesség ellenõrzése
« Dátum: 2014. Augusztus 13. - 20:56:44 »
0 Show voters
Sziasztok. Milyen módon lehet ellenõrizni az, hogy két parancs közül melyik fut le gyorsabban. Én Tickcountra saccolok, de azért gondoltam rákérdezek itt is. Válaszokat elõre is köszönöm.
« Utoljára szerkesztve: 2014. Október 19. - 15:58:08 írta Flash »

Parancs lefutási sebesség ellenõrzése
« Válasz #1 Dátum: 2014. Augusztus 13. - 21:04:43 »
0 Show voters
GetTickCount

Nem elérhető SnooP

  • 1798
  • SnooP
    • Profil megtekintése
Parancs lefutási sebesség ellenõrzése
« Válasz #2 Dátum: 2014. Augusztus 20. - 10:31:58 »
0 Show voters
Valahogy nem tudom megmérni :D
Akkor kérdeznék konkrétan egy példával és így legalább érthetõ lesz: Van egy számunk legyen ez most a 183 és én ebbõl addig vonnék ki 60-at amíg az eredmény kisebb nem lenne 59-nél. A kérdés az, hogy ezt hogyan gyorsabb és lagmentesebb végezni?
1. Változat: Elosztom a számot 60-al. Amennyi kijön (3) beszorzom hatvannal, majd kivonom a 183-ból. (azért osztom és szorzom is 3-al, mert nekem a 3-as szám is kell, vagyis a hányadosra is szükségem van)
2. Változat: Beállítok egy ciklust aminek az értéke 60 és minden lefutásnál kivon a 183 ból 60-at egészen addig ameddig az eredmény kevesebb lesz 60-nál.
Melyik a jobb megoldás? Esetleg ezek gyorsabban és lagmentesebben mûködnek mint a timerek?

Nem elérhető KovaNovik

  • 1121
  • KovaNovik
    • Profil megtekintése
Parancs lefutási sebesség ellenõrzése
« Válasz #3 Dátum: 2014. Augusztus 20. - 21:27:27 »
0 Show voters
new count = GetTickCount();
//valami valami
printf(\"Eltelt idõ (tickben, ami nem ms!): %d\", GetTickCount() - count);

 
Magyarul a végén aktuális gettickcountból kivonod az elõtte lévõt.
A leggyorsabb módszer a hányados megszerzésére (nem biztos, hogy jó):
 
183 % 60

 
183 osztva hatvannal maradéka

Nem elérhető SnooP

  • 1798
  • SnooP
    • Profil megtekintése
Parancs lefutási sebesség ellenõrzése
« Válasz #4 Dátum: 2014. Augusztus 21. - 22:18:54 »
0 Show voters
Na közben alávetettem egy kis tesztelés/terhelésnek, a ciklus elvérzik nagyobb terhelés alatt. Az alap matek mûvelet viszont kõkeményen és bugtalanul és gyorsabban elvégzi a feladatot :D
Amúgy nem értem, hogy mondjuk mi a különbség a:
 
183 / 60

 és a
183 % 60

 között ugyan az a végeredmény :D

Nem elérhető KovaNovik

  • 1121
  • KovaNovik
    • Profil megtekintése
Parancs lefutási sebesség ellenõrzése
« Válasz #5 Dátum: 2014. Augusztus 21. - 22:42:54 »
0 Show voters
Pech, hogy 183-ban a 60 megvan háromszor, három maradékkal. :D

Nem elérhető SnooP

  • 1798
  • SnooP
    • Profil megtekintése
Parancs lefutási sebesség ellenõrzése
« Válasz #6 Dátum: 2014. Augusztus 21. - 22:51:08 »
0 Show voters
Épp ezért szorzunk vissza a hányadossal és kivonjuk az eredeti számból és megkapjuk a maradékot is. Sajnos ez a legkönnyebb módszer és nincs rövidebb / gyorsabb megoldás. :D

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal