ฟังก์ชั่นการใช้งาน: สถิติแบบแบ่งส่วนของเวลาการทำงานของโปรแกรม, ผลลัพธ์ของตารางสถิติ ฯลฯ
ซอร์สโค้ดของชั้นเรียน:
รหัสโปรแกรม
คลาส ccClsProcessTimeRecorder
'ผู้เขียนโปรแกรม: Mingyue Xingguang
'หน้าแรกของผู้เขียน: http://www.5iya.com/blog
'http://www.kuozhanming.com
'คลาสสถิติเวลาดำเนินการโค้ดโปรแกรม ASP
ส่วนตัว ccInti, ccIntNonceTime, ccIntDecimal
ccIntStartTime ส่วนตัว ccIntEndTime ccIntNow ccIntNonce
ส่วนตัว ccStrInterval, ccStrEvent, ccStrTime, ccStrStatisticLog, ccStrFormatInterval
ส่วนตัว ccArrEvent, ccArrTime
ส่วนตัวย่อย Class_Initialize
ccStrInterval = "|" 'ตัวคั่นเริ่มต้น
ccIntDecimal = 4 'จำนวนหลักหลังจุดทศนิยม
ccStrEvent = ""
ccStrTime = ""
ccStrFormatInterval = "<br />" & vbCrLf
ccIntStartTime = ตัวจับเวลา
ccIntNow = ccIntStartTime
ccIntNonce = ccIntStartTime
สิ้นสุด
บันทึกย่อยสาธารณะย่อย (ccStrEventName)
ccStrEvent = ccStrEvent & ccStrInterval & แทนที่ (ccStrEventName, ccStrInterval,"")
ccStrTime = ccStrTime & ccStrInterval & FormatNumber (ตัวจับเวลา-ccIntNow, ccIntDecimal, True, False, True)
ccIntNow = ตัวจับเวลา
สิ้นสุด
รูปแบบการอนุญาตทรัพย์สินสาธารณะย่อย (ccStrFormatType)
ถ้า LCase(Trim(ccStrFormatType)) = "html" จากนั้น
ccStrFormatInterval = "<br />" & vbCrLf
อื่น
ccStrFormatInterval = vbCrLf
สิ้นสุดถ้า
สถิติฟังก์ชั่นสาธารณะ
ของคุณสมบัติสุดท้าย
ถ้า InStr(ccStrEvent,ccStrInterval) > 0 แล้ว
ccIntEndTime = ตัวจับเวลา
ccArrEvent = แยก(ccStrEvent,ccStrInterval)
ccArrTime = แยก(ccStrTime, ccStrInterval)
ccStrStatisticLog = ccStrStatisticLog & "บันทึกเวลากระบวนการ" & ccStrFormatInterval
ccStrStatisticLog = ccStrStatisticLog & "---------------------------------------------" & ccStrFormatInterval
สำหรับ ccInti = 1 ถึง UBound(ccArrEvent)
ccStrStatisticLog = ccStrStatisticLog & ccArrEvent(ccInti) & " : " & ccArrTime(ccInti) & " s" & ccStrFormatInterval
ต่อไป
ccStrStatisticLog = ccStrStatisticLog & "---------------------------------------------" & ccStrFormatInterval
ccStrStatisticLog = ccStrStatisticLog & "ผลรวม : " & FormatNumber(ccIntEndTime-ccIntStartTime,ccIntDecimal,True,False,True) & " s"
สถิติ = ccStrStatisticLog
อื่น
สถิติ = "ไม่มีบันทึก"
สิ้นสุดถ้า
ฟังก์ชันสิ้นสุด
ฟังก์ชันสาธารณะ Nonce
ccIntNonceTime = FormatNumber(ตัวจับเวลา-ccIntNonce,ccIntDecimal,True,False,True)
ccIntNonce = ตัวจับเวลา
Nonce = ccIntNonceTime
ฟังก์ชั่นสิ้นสุด
ฟังก์ชั่นสาธารณะ รวม
ผลรวม = FormatNumber(ตัวจับเวลา-ccIntStartTime,ccIntDecimal,True,False,True)
ฟังก์ชันสิ้นสุด
คลาสสิ้นสุด
คุณลักษณะของคลาส:
1.รูปแบบ
ว่าจะรวมแท็กตัวแบ่งบรรทัด HTML เมื่อส่งออกหรือไม่
-html: เอาต์พุตแท็กบรรทัดใหม่ HTML และข้อความขึ้นบรรทัดใหม่ (ค่าเริ่มต้น)
-text: เฉพาะข้อความเอาต์พุต
วิธีการขึ้นบรรทัดใหม่เท่านั้น:
1.บันทึก("ชื่อรหัส")
นับเวลานับตั้งแต่การเรียกเมธอด Record ครั้งสุดท้ายจนถึงปัจจุบัน (การเรียกครั้งแรกนับเวลาจากเมื่อมีการประกาศคลาสจนถึงเวลาที่ถูกเรียก) และสุดท้ายเอาต์พุต
ฟังก์ชันคลาสใน Statistics: (ข้อมูลส่งคืนทันที)
1.ไม่มีเลย
เอาท์พุตเวลาตั้งแต่ครั้งสุดท้ายที่ฟังก์ชัน nonce ถูกเรียกใช้จนถึงปัจจุบัน (นับเวลาตั้งแต่ประกาศคลาสเป็นครั้งแรกจนถึงเวลาที่เรียกใช้จะถูกนับ)
2.รวม
ส่งออกเวลารวมในการประกาศคลาสจนถึงขณะนี้
3.สถิติ
โค้ดตัวอย่าง
เพื่อส่งออกสถิติบันทึกทั้งหมดและเวลาโปรแกรมทั้งหมด
:
รหัสโปรแกรม
Dim objRecord,i,k,j,x
ตั้งค่า objRecord = ccClsProcessTimeRecorder ใหม่
objRecord.Format = "html"
สำหรับ i = 1 ถึง 100,000
x = 2 + 2
ถัดไป
objRecord.Record("เพิ่มเติม")
สำหรับ j = 1 ถึง 100,000
x=2*2
ถัดไป
objRecord.Record("การคูณ")
สำหรับ k = 1 ถึง 100000
x = 2^2
ถัดไป
objRecord.Record("square root")
Response.Write objRecord.Statistic
เอาท์พุท:
บันทึกเวลาดำเนินการ
-
นอกจากนี้: 0.0625 วิ
การคูณ: 0.0469 วินาที
รากที่สอง: 0.1094 วิ
-
รวม: 0.2188 วิ