Implementierungsfunktionen: segmentierte Statistik der Programmausführungszeit, Ausgabe statistischer Tabellen usw.
Quellcode der Klasse:
Programmcode
Klasse ccClsProcessTimeRecorder
„Programmautor: Mingyue Xingguang.“
'Homepage des Autors: http://www.5iya.com/blog
'http://www.kuozhanming.com
'Statistikklasse zur Ausführungszeit des ASP-Programmcodes
Private ccInti,ccIntNonceTime,ccIntDecimal
Privat ccIntStartTime, ccIntEndTime, ccIntNow, ccIntNonce
Privat ccStrInterval,ccStrEvent,ccStrTime,ccStrStatisticLog,ccStrFormatInterval
Privates ccArrEvent,ccArrTime
Private Sub Class_Initialize
ccStrInterval = "|" 'Standardtrennzeichen
ccIntDecimal = 4 'Anzahl der Nachkommastellen
ccStrEvent = ""
ccStrTime = ""
ccStrFormatInterval = "<br />" & vbCrLf
ccIntStartTime = Timer
ccIntNow = ccIntStartTime
ccIntNonce = ccIntStartTime
End Sub
Public Sub Record(ccStrEventName)
ccStrEvent = ccStrEvent & ccStrInterval & Replacement(ccStrEventName,ccStrInterval,"")
ccStrTime = ccStrTime & ccStrInterval & FormatNumber(Timer-ccIntNow,ccIntDecimal,True,False,True)
ccIntNow = Timer
End Sub
Public Property Let Format(ccStrFormatType)
Wenn LCase(Trim(ccStrFormatType)) = "html" Dann
ccStrFormatInterval = "<br />" & vbCrLf
Anders
ccStrFormatInterval = vbCrLf
Ende wenn
Statistik zur öffentlichen Funktionsfunktion
von Endeigenschaften
Wenn InStr(ccStrEvent,ccStrInterval) > 0, dann
ccIntEndTime = Timer
ccArrEvent = Split(ccStrEvent,ccStrInterval)
ccArrTime = Split(ccStrTime,ccStrInterval)
ccStrStatisticLog = ccStrStatisticLog & „Prozesszeitaufzeichnung“ & ccStrFormatInterval
ccStrStatisticLog = ccStrStatisticLog & "-------------------------------------------------------" & ccStrFormatInterval
Für ccInti = 1 To UBound(ccArrEvent)
ccStrStatisticLog = ccStrStatisticLog & ccArrEvent(ccInti) & " : " & ccArrTime(ccInti) & " s" & ccStrFormatInterval
Nächste
ccStrStatisticLog = ccStrStatisticLog & "-------------------------------------------------------" & ccStrFormatInterval
ccStrStatisticLog = ccStrStatisticLog & "Total: " & FormatNumber(ccIntEndTime-ccIntStartTime,ccIntDecimal,True,False,True) & " s"
Statistik = ccStrStatisticLog
Anders
Statistik = „Kein Datensatz“
Ende wenn
Endfunktion
Öffentliche Funktion Nonce
ccIntNonceTime = FormatNumber(Timer-ccIntNonce,ccIntDecimal,True,False,True)
ccIntNonce = Timer
Nonce = ccIntNonceTime
Endfunktion
Öffentliche Funktion Gesamt
Total = FormatNumber(Timer-ccIntStartTime,ccIntDecimal,True,False,True)
Endfunktion
Endklasse
Klassenattribute:
1.Formatieren
Ob bei der Ausgabe HTML-Zeilenumbruch-Tags eingefügt werden sollen
-html: HTML-Newline-Tags und Text-Newline-Tags ausgeben (Standard)
-text: Nur Text-Neuzeilen
-Klassenmethode ausgeben:
1.Record("Codename")
Zählen Sie die Zeit seit dem letzten Aufruf der Record-Methode bis zur Gegenwart (der erste Aufruf zählt die Zeit von der Deklaration der Klasse bis zum Zeitpunkt ihres Aufrufs) und geben Sie schließlich
die Klassenfunktion in Statistik aus: (sofortige Rückgabeinformationen)
1.Nonce
Geben Sie die Zeit seit dem letzten Aufruf der Nonce-Funktion bis zur Gegenwart aus (die Zeit von der ersten Deklaration der Klasse bis zum Aufruf wird gezählt)
2.Gesamt
Gibt die bisherige Gesamtzeit zum Deklarieren der Klasse aus
3. Statistik
Beispielcode
zur Ausgabe aller Datensatzstatistiken und der gesamten Programmzeit
:
Programmcode
Dim objRecord,i,k,j,x
Set objRecord = New ccClsProcessTimeRecorder
objRecord.Format = "html"
Für i = 1 bis 100000
x = 2 + 2
Nächster
Aufruf objRecord.Record("Addition")
Für j = 1 bis 100000
x=2*2
als Nächstes
objRecord.Record("Multiplication")
für k = 1 bis 100000
auf
x = 2^2
Als nächstes
rufen Sie objRecord.Record("Quadratwurzel") auf.
Response.Write objRecord.Statistic
Ausgabe:
Prozesszeitaufzeichnung
-----------------------------------------------
Addition: 0,0625 s
Multiplikation: 0,0469 s
Quadratwurzel: 0,1094 s
-----------------------------------------------
Gesamt: 0,2188 s