Fungsi implementasi: statistik tersegmentasi dari waktu pelaksanaan program, keluaran tabel statistik, dll.
Kode sumber kelas:
kode program
Kelas ccClsProcessTimeRecorder
'Penulis program: Mingyue Xingguang
'Beranda penulis: http://www.5iya.com/blog
'http://www.kuozhanming.com
'Statistik waktu eksekusi kode program ASP kelas
Private ccInti,ccIntNonceTime,ccIntDecimal
CccIntStartTime pribadi,ccIntEndTime,ccIntNow,ccIntNonce
CccStrInterval pribadi,ccStrEvent,ccStrTime,ccStrStatisticLog,ccStrFormatInterval
CccArrEvent Pribadi,
Sub Kelas Pribadi ccArrTime_Inisialisasi
ccStrInterval = "|" 'Pemisah bawaan
ccIntDecimal = 4 'Jumlah digit setelah koma desimal
ccStrEvent = ""
ccStrWaktu = ""
ccStrFormatInterval = "<br />" & vbCrLf
ccIntStartTime = Pengatur Waktu
ccIntSekarang = ccIntStartTime
ccIntNonce = ccIntStartTime
Akhiri Sub
Rekaman Sub Publik (ccStrEventName)
ccStrEvent = ccStrEvent & ccStrInterval & Ganti(ccStrEventName,ccStrInterval,"")
ccStrTime = ccStrTime & ccStrInterval & FormatNumber(Timer-ccIntNow,ccIntDecimal,Benar, Salah, Benar)
ccIntNow = Pengatur Waktu
Sub
Properti Publik Akhir (ccStrFormatType)
Jika LCase(Trim(ccStrFormatType)) = "html" Lalu
ccStrFormatInterval = "<br />" & vbCrLf
Kalau tidak
ccStrFormatInterval = vbCrLf
Akhiri Jika
Statistik Fungsi Publik
Properti Akhir
Jika InStr(ccStrEvent,ccStrInterval) > 0 Lalu
ccIntEndTime = Pengatur Waktu
ccArrEvent = Berpisah(ccStrEvent,ccStrInterval)
ccArrTime = Pemisahan(ccStrTime,ccStrInterval)
ccStrStatisticLog = ccStrStatisticLog & "Catatan Waktu Proses" & ccStrFormatInterval
ccStrStatisticLog = ccStrStatisticLog & "-----------------------------------------" & ccStrFormatInterval
Untuk ccInti = 1 Ke UBound(ccArrEvent)
ccStrStatisticLog = ccStrStatisticLog & ccArrEvent(ccInti) & " : " & ccArrTime(ccInti) & " s" & ccStrFormatInterval
Berikutnya
ccStrStatisticLog = ccStrStatisticLog & "-----------------------------------------" & ccStrFormatInterval
ccStrStatisticLog = ccStrStatisticLog & "Total : " & FormatNumber(ccIntEndTime-ccIntStartTime,ccIntDecimal,Benar, Salah, Benar) & " s"
Statistik = ccStrStatisticLog
Kalau tidak
Statistik = "Tidak Ada Catatan"
Akhiri Jika
Fungsi Akhir
Fungsi Publik Nonce
ccIntNonceTime = FormatNumber(Timer-ccIntNonce,ccIntDecimal,Benar,Salah,Benar)
ccIntNonce = Pengatur Waktu
Nonce = ccIntNonceWaktu
Fungsi Akhir
Fungsi Publik Total
Total = FormatNumber(Timer-ccIntStartTime,ccIntDecimal,Benar, Salah, Benar)
Fungsi Akhir
Kelas Akhir
Atribut kelas:
1.Format
Apakah akan menyertakan tag pemisah baris HTML saat mengeluarkan keluaran
-html: Keluarkan tag baris baru HTML dan baris baru teks (default)
-teks: Hanya menampilkan teks
metode kelas baris baru:
1.Rekam("Nama Kode")
Hitung waktu sejak panggilan terakhir ke metode Record hingga saat ini (panggilan pertama menghitung waktu dari saat kelas dideklarasikan hingga saat dipanggil), dan akhirnya menampilkan
fungsi kelas dalam Statistik: (informasi pengembalian langsung)
1.Tidak ada
Menampilkan waktu sejak terakhir kali fungsi nonce dipanggil hingga saat ini (waktu dari saat kelas dideklarasikan pertama kali hingga dipanggil dihitung)
2.Jumlah
Keluarkan total waktu untuk mendeklarasikan kelas hingga saat ini
3.Statistik
Contoh kode
untuk menampilkan semua statistik Record dan total waktu program
:
kode program
Redupkan objRecord,i,k,j,x
Setel objRecord = ccClsProcessTimeRecorder baru
objRecord.Format = "html"
Untuk i = 1 Sampai 100000
x = 2 + 2
Berikutnya
objRecord.Record("Penambahan")
Untuk j = 1 Sampai 100000
x=2*2
Berikutnya
objRecord.Record("Perkalian")
Untuk k = 1 Sampai 100000
x = 2^2
Berikutnya
objRecord.Record("akar kuadrat")
Response.Tulis objRecord.Statistic
Keluaran:
Catatan Waktu Proses
-----------------------------------------------
Tambahan: 0,0625 dtk
Perkalian: 0,0469 detik
Akar kuadrat: 0,1094 dtk
-----------------------------------------------
Jumlah: 0,2188 dtk