Správičky 2 270 Blogy 577 Fórum 14 074

Ako odmerať časovú náročnosť nejakého kódu

spigi - 9. 1. 2003 19:49 - 8738 views

Jednoduchý trik, pomocou ktorého môžeme odmerať ako dlho sa nám spracúva nejaká časť kódu.

'Zistíme si aktuálny čas
Dim t1 As DateTime = DateTime.Now
Console.WriteLine(
"Cas pred operaciou je " + t1)

'Volanie kódu, ktorého časovú náročnosť chceme merať
System.Threading.Thread.Sleep(5000)

'Zistíme si čas po vykonaní meranej operácie
Dim t2 As DateTime = DateTime.Now
Console.WriteLine(
"Cas po operacii je " + t2)

'Vypočítame rozdiel časov
Dim sum As New TimeSpan(t2.Ticks - t1.Ticks)
Console.WriteLine(
"Rozdiel je " + sum.ToString)
--
Igor Stanek (aspnet.sk)

Samozrejme je omnoho elegantnejsie pouzivat na to spravne nastroje:
Dim beginRead As Integer = Environment.TickCount ' get the start time

System.Threading.Thread.Sleep(
5000)

Dim endRead As Integer = Environment.TickCount ' determine the end time

Console.WriteLine(
"Start Time: {0}", beginRead.ToString())
Console.WriteLine(
"End Time: {0}", endRead.ToString())
Console.WriteLine(
"{0}", str.ToString())
Console.WriteLine(
"Elapsed Time: {0} s", (endRead - beginRead) / 1000) ' the time span in sec
Starlogic

Ing. Igor Stanek, ASP.NET MVP, MCP

Som spoluzakladateľom a spolumajiteľom spoločnosti CHASTIA s.r.o., Poprad (www.chastia.com). V spoločnosti pôsobím ako konateľ a Software Architect.

Prevádzkujem internetový portál na online prevod jednotiek na internete www.prevody.sk a prvý internetový portál o technológii Microsoft .NET na Slovensku www.vyvojari.sk (bývalé www.AspNet.sk).

Som držiteľom certifikácie Microsoft Certified Professional a zo strany Microsoftu som už 6 rokov za sebou ocenený titulom Microsoft Most Valuable Professional za kompetenciu "ASP.NET/IIS".

Ďalšie info o mne nájdete na mojej osobnej stránke www.spigi.sk.

Článkov: 105, Správičiek: 13, Príspevkov vo fóre: 560, Príspevkov v blogu: 124, Bodov: 15560
Najaktívnejší č.: 3
Profil používateľa

Reakcie

# Doporuceny postup 20. 7. 2005 14:07:59 Jan Seda

Dobry den!

Tento postup se nedoporucuje kvuli nepresnosti a moznemu rozsynchronizovani hodin behem mereni operaci. Na tohle jsou nativni funkce z knihovny kernel32.dll. Vice muzete najit v kapitole "Accurate time measuring" v ebooce viz. http://www.skilldrive.com/DOTNETinSamplespdf.zip

# RE: Ako odmerať časovú náročnosť nejakého kódu 20. 7. 2005 15:22:45 spigi

Vdaka za info, Vasu ebook som zatial len preletel jednym okom, ale pozriem na to, ked sa dostanem k svojmu pocitacu :).

# RE: Ako odmerať časovú náročnosť nejakého kódu 2. 3. 2006 9:04:30 ramdee

a co tak pouzit
Public Declare Function timeGetTime Lib "winmm.dll" () As Long

?

Titulok:


Meno:


Url:
Koľko je 22 + 4? (ochrana proti spamu)

Komentár:


Najaktívnejší užívatelia
1. 35110 b. photo vlko
2. 16735 b. photo T
3. 15560 b. photo spigi
4. 6635 b. photo dudok
5. 5705 b. photo slavof
6. 5205 b. photo siro
7. 4745 b. photo duracellko
8. 3780 b. photo Liero
9. 3690 b. photo lubolacko
10. 3625 b. photo jakub