Wallclock הוא לוגר ביצועים פשוט המבוסס על ערימה נכתב בפייתון.
Wallclock מספק כמה כלים פשוטים לזיהוי חלקים איטיים של הקוד שלך. היא שומרת על ערימה של שעוני ריצה, ומדווחת על העץ של זמני ביצוע כאשר המחסנית מתרוקנת.
שימוש פשוט
לקוד זמן עם wallclock, השתמש ב` `` `push`` ופונקציות pop`` מוצעות על ידי מודול wallclock ::
& Nbsp; & nbsp; & nbsp; wallclock יבוא
& Nbsp; & nbsp; & nbsp; slow_function def ():
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; wallclock.push ("פונקציה איטית ')
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; זמן יבוא
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; time.sleep (3)
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; wallclock.pop ("פונקציה איטית ')
& Nbsp; & nbsp; & nbsp; def ראשי ():
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; wallclock.push ("טיפול בבקשה אחת", תאפשר = True)
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; slow_function ()
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; wallclock.pop ("טיפול בבקשה אחת")
& Nbsp; & nbsp; & nbsp; (עיקרי)
זה יהיה לייצר עץ קטן על `` stderr`` מסכם את הזמן שלוקח לבצע `` עיקרי () `` ::
& Nbsp; & nbsp; & nbsp; [Sec 3.001] טיפול בבקשה אחת
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; [3.001 שניות] פונקציה איטית
פונקצית `` push`` לוקחת טיעון positional אחד, המהווה את התווית של טיימר נדחפה על הערימה של wallclock. זה הוא בדרך כלל תווית קצרה, תיאורים עבור סוג העבודה שקורה מתחת לעיתוי. `` Push`` גם לוקח טיעון אחד אופציונאלי מילת המפתח, `` enable``, השולט אם קריאה זו ל'push`` `צריכה להתחיל עיתוי (אם הוא לא התחיל כבר). `` Wallclock`` מתעלם שיחות ל` `push`` עד שיופשר, ומנטרל את עצמו באופן אוטומטי כאשר מאפשר` `push`` הוא` `pop``ped.
`` פונקצית pop`` לוקחת טיעון positional אחד, המהווה את התווית פופ. זה מאפשר להכנסה פשוטה של `` push`` / `` זוגות pop`` סביב קוד שעשויה לחזור, או אולי להעלות את היוצא מן הכלל, מבלי להוסיף `` try`` / `` בלוקים except`` נוספים או דומים (אך ראה להלן גישה טובה יותר). `` Wallclock`` יופיע טיימרים את הערימה עד שהוא מוצא טיימר דחף עם התווית עברה, או עד שהוא מרוקן את מחסנית טיימר
דרישות :.
- Python
תגובות לא נמצא