คำถามติดแท็ก line-by-line

5
ฉันจะตั้งค่ารหัส Python ทีละบรรทัดได้อย่างไร
ฉันใช้ cProfile เพื่อสร้างโปรไฟล์โค้ดของฉันและมันก็ใช้งานได้ดี ฉันยังใช้gprof2dot.pyเพื่อดูผลลัพธ์ (ทำให้ชัดเจนขึ้นเล็กน้อย) อย่างไรก็ตาม cProfile (และ Python profilers อื่น ๆ ส่วนใหญ่ที่ฉันเคยเห็นจนถึงตอนนี้) ดูเหมือนจะเป็นโปรไฟล์ที่ระดับการเรียกใช้ฟังก์ชันเท่านั้น สิ่งนี้ทำให้เกิดความสับสนเมื่อมีการเรียกฟังก์ชันบางอย่างจากที่ต่างๆ - ฉันไม่รู้ว่าการโทร # 1 หรือโทร # 2 ใช้เวลาส่วนใหญ่ สิ่งนี้จะแย่ลงไปอีกเมื่อฟังก์ชั่นที่เป็นปัญหามีความลึกหกระดับซึ่งเรียกมาจากที่อื่นอีกเจ็ดแห่ง ฉันจะสร้างโปรไฟล์ทีละบรรทัดได้อย่างไร แทนสิ่งนี้: function #12, total time: 2.0s ฉันต้องการเห็นสิ่งนี้: function #12 (called from somefile.py:102) 0.5s function #12 (called from main.py:12) 1.5s cProfile จะแสดงจำนวนเวลาทั้งหมดที่ "โอน" ไปยังผู้ปกครอง แต่การเชื่อมต่อนี้จะหายไปอีกครั้งเมื่อคุณมีเลเยอร์จำนวนมากและการโทรที่เชื่อมต่อกัน ตามหลักการแล้วฉันชอบที่จะมี …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.