Konferencia vbstreets - a téma megtekintése - hogyan kell visszaállítani a datetime típusú változó dátumát1
Üdvözlet mindenkinek.
Szeretném kiszámítani a függvény időtartamát.
A (eddig) két változót használtam a DateTime típusú dátum1 és dátum2.
Először a funkció kezdete előtt definiálom, a második a vége után. Új mérés esetén a változókat törölni kell az értékekről.
A kérdés az: hogyan?
date1 = System.DateTime.Now; // hozzárendelt egy változót az aktuális pillanatértékhez
sort1.shellsort (Tabel_2); // futtassa a tesztelés alatt álló függvényt
date2 = System.DateTime.Now; // hozzárendelte a második változót ahhoz a pillanatban, amikor a függvény befejeződött
System.TimeSpan diff0 = date2.Subtract (dátum1); // a különbséget milliszekundumban.
lblTijdBubblesort.Text = diff0.Milliseconds.ToString (); // megjelenítette az intervallum értékét
De általában van egy kulturálisabb út?
Eredetileg úgy gondolt, hogy egy időmérő, mint stopperóra. Azt hiszem, be kell állítanom az időzítőt az űrlapra, majd elindítom a funkció megkezdése előtt, miután leállítottam a függvényt, és megállítom a számot milliszekundumban. De nem, így az időzítő nem működik.
Állítsa be az időzítőt, indítsa el, de a stopintervallum lejáratát követően. Így működik.
Kérem, segítsen a hallgatónak.
Köszönöm előre.
VladD2 valahogy így írta:
a Rendszer használatával;
a System.Runtime.InteropServices;
Kód: Válassza ki az összes felhasználást
# 123;
///
/// Ez a struktúra lehetővé teszi, hogy kiszámítsa a kód végrehajtásának sebességét az egyik
/ / / a legpontosabb módon. Valójában a számításokat ciklusokban végzik
/// processzort, majd fordított ezredmásodpercre # 40, tizedes rész
/// a másodikat # 41;
///
nyilvános struktúrájú PerfCounter
# 123;
Int64 _start;
///
/// Elkezdi a végrehajtási idő számítását.
///
public void A # 40; # 41;
# 123;
_start = 0;
QueryPerformanceCounter # 40; ref _start # 41 ;;
# 125;
///
/// A végrehajtási idő felét fejezi ki, és az időt másodpercben adja vissza.
///
///
/// kódot. A tizedes rész egy másodperc törtrészeit tükrözi.
nyilvános úszó Finish # 40; # 41;
# 123;
Int64 befejezése = 0;
QueryPerformanceCounter # 40, ref reflexió # 41 ;;
Int64 freq = 0;
QueryPerformanceFrekvencia # 40; ref freq # 41 ;;
visszatérés # 40; # 40; # 40; úszni # 41; # 40; finish - _start # 41; / # 40; # 41; # frekv; # 41; # 41 ;;
# 125;
# 91; DllImport # 40; "Kernel32.dll" # 41; # 93;
statikus extern bool QueryPerformanceCounter # 40; ref Int64 performanceCount # 41 ;;
# 91; DllImport # 40; "Kernel32.dll" # 41; # 93;
statikus extern bool QueryPerformanceFrekvencia # 40; ref Int64 frekvencia # 41 ;;
# 125;
# 125;
Használd ezt így:
Kód: Válassza ki az összeset // Egy változót kijelentünk valahol.
PerfCounter időzítő = új PerfCounter # 40; # 41 ;;
timer.tart # 40; # 41 ;; // A mérés kezdete
// Adja ki az eredményt a konzolnak.
Console.WriteLine # 40; "Futási idő másodpercek alatt: # 123; 0: ### ### ## 0.0000 # 125; "
timer.Finish # 40; # 41; # 41 ;;
Egy változó többször használható.
A legnehezebb, amit most teszek. A lehetetlen lesz egy kis idő. c) amerikai mérnökök a második világháborúban
Nem mindig tudom, miről beszélek, de tudom, hogy igazam van. (c) Muhammad Ali