นาฬิกาแขวนเป็นคนตัดไม้ประสิทธิภาพสแต็คที่ใช้ง่ายเขียนในหลาม
นาฬิกาแขวนมีเครื่องมือบางอย่างง่ายสำหรับการระบุชิ้นส่วนช้าของรหัสของคุณ มันจะเก็บสแต็คของการใช้จับเวลาและรายงานต้นไม้แห่งการดำเนินการครั้งเมื่อสแต็คเทออก
การใช้งานง่าย
รหัสเวลากับนาฬิกาแขวนใช้ `` push`` `` และฟังก์ชั่น pop`` ให้โดยโมดูลนาฬิกาแขวน ::
& nbsp; & nbsp; & nbsp; นำเข้านาฬิกาแขวน
& nbsp; & nbsp; & nbsp; def slow_function ():
& 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; [3.001 วินาที] จัดการคำขอหนึ่ง
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; [3.001 วินาที] ฟังก์ชั่นช้า
`` ฟังก์ชั่น push`` ใช้อาร์กิวเมนต์ตำแหน่งหนึ่งซึ่งเป็นป้ายของตัวจับเวลาถูกผลักลงบนสแต็คของนาฬิกาแขวน นี้เป็นปกติสั้นป้ายอธิบายสำหรับชนิดของการทำงานที่เกิดขึ้นภายใต้ระยะเวลา `` push`` ยังใช้การโต้แย้งคำหลักที่เป็นตัวเลือกหนึ่ง `` enable`` ซึ่งควบคุมไม่ว่าจะโทรไป `` push`` นี้ควรเริ่มต้นระยะเวลา (ถ้ามันไม่ได้เริ่มต้นแล้ว) `` wallclock`` ละเว้นการโทรไปยัง `` push`` จนกว่าจะได้รับการใช้งานและปิดการใช้งานตัวเองโดยอัตโนมัติเมื่อเปิดใช้งาน `` push`` เป็น `` pop``ped
`` ฟังก์ชั่น pop`` ใช้อาร์กิวเมนต์ตำแหน่งหนึ่งซึ่งเป็นฉลากจะปรากฏ นี้จะช่วยให้สำหรับการแทรกง่ายของ `` push`` / `` คู่ pop`` รหัสโดยรอบที่อาจจะกลับมาหรืออาจจะเพิ่มข้อยกเว้นโดยไม่ต้องเพิ่มพิเศษ `` try`` / `` บล็อก except`` หรือคล้ายกัน (แต่เห็น ด้านล่างนี้เป็นวิธีการที่ดีกว่า) `` wallclock`` จะปรากฏตัวนับออกจากสแต็คจนกว่าจะพบตัวจับเวลาผลักดันให้มีป้ายผ่านหรือจนกว่าจะมีการเทสแต็คจับเวลา
ต้องการ .
- หลาม
ความคิดเห็นที่ไม่พบ