מדידת זמן ריצת סקריפט ASP

‏ • 23 באפריל, 2002



הרבה פעמים אנו רוצים למדוד את הזמן שלוקח לסקריפט שלנו לרוץ. זו יכולה להיות מדידת הזמן שלוקח ל-IIS להעלות את הדף שלנו, או מדידת הזמן שלוקח לקטע קטן בדף ה-ASP לרוץ, כמו למשל, שליפת נתונים מבסיס הנתונים.

את זאת אנו יכולים להעשות ע"י מדידת הזמן בתחילת ריצת הסקריפט ושמירתו בתוך משתנה, ומדידת הזמן שוב, בסיום הריצה. ההפרש בין השניים יהיה משך הזמן בו רץ הסקריפט.

הגדרת המשתנים

נתחיל בהגדרת המשתנים אשר יכילו את זמן תחילת הריצה, זמן סיום הריצה ואת ההפרש בניהם, זמן הריצה הכולל:


Dim StartTime, EndTime, TotalTime

זמן תחילת הריצה

כדי למדוד את זמן תחילת הריצה, נשתמש בפונקציה Timer של VBScript. הפונקציה מחזירה לנו אז מספר השניות שחלפו מאז חצות. את תוצאת הפונקציה נשמור במשתנה StartTime


StartTime = Timer

הרצת הקוד

לאחר מכן, נכתוב את כל הקוד אשר את זמן הריצה שלו אנו רוצים למדוד. זה יכול להיות קטע קוד מסויים בדף, או הדף כולו.


For i = 1 To 5000
Response.Write i & "<BR>"
Next

זמן סיום הריצה

באותו אופן בו שמרנו את זמן תחילת ריצת הקוד, נשמור את זמן הסיום. הפעם בתוך המשתנה EndTime


EndTime = Timer

חישוב והצגת זמן הריצה

עכשיו יש לנו במשתנים StartTime ו-EndTime את זמני תחילת ריצת הקוד וסיומו. ההפרש בינהם, יהיה בעצם הזמן (בשניות) שלקח לקוד להתבצע. נכניס את ההפרש לתוך TotalTime


TotalTime = EndTime – StartTime

נשתמש בפונקציה FormatNumber כדי לפרמט את המספר


TotalTime = FormatNumber(TotalTime,4)

ונציג אותו על המסך:


Response.Write "It took "& TotalTime &" seconds to Execute this script."

הקוד במלואו



1
2
3
4
5
6
7
8
9
10
11
12
13
14  

<%
Dim StartTime, EndTime, TotalTime
StartTime = Timer

For i = 1 To 5000
    Response.Write i & "<BR>"
Next

EndTime = Timer

TotalTime = EndTime – StartTime
TotalTime = FormatNumber(TotalTime,4)
Response.Write "It took "& TotalTime &" seconds to Execute this script."
%>


תגיות: , ,

תגובות בפייסבוק