- โปรไฟเลอร์ CPU, GPU และหน่วยความจำประสิทธิภาพสูงสำหรับ Python ที่ทำงานได้หลายอย่างซึ่งโปรไฟเลอร์ Python อื่น ๆ ไม่ทำหรือทำไม่ได้
- ทำงานได้เร็วกว่ามาก ขณะเดียวกันก็ให้ข้อมูลที่ละเอียดกว่ามาก และยังเป็นโปรไฟเลอร์ตัวแรกที่รวมข้อเสนอแนะการปรับแต่งประสิทธิภาพที่ขับเคลื่อนด้วย AI
- มีทั้ง CLI และ GUI บนเว็บ
- รวดเร็วและแม่นยำ
- เร็ว: ใช้การสุ่มตัวอย่างแทนการพึ่งพาการทำ instrumentation หรือความสามารถด้าน tracing ของ Python โดยทั่วไปโอเวอร์เฮดจะไม่เกิน 10~20% และมักต่ำกว่านั้น
- แม่นยำ: จากผลการทดสอบความแม่นยำพบว่า Scalene เป็นหนึ่งในโปรไฟเลอร์ที่แม่นยำที่สุด และสามารถวัดเวลาที่ใช้ได้อย่างถูกต้อง
- ทำโปรไฟล์ได้ทั้งระดับบรรทัดและรายฟังก์ชัน เพื่อชี้ว่าฟังก์ชันและบรรทัดโค้ดใดเป็นตัวการของเวลาในการรันโปรแกรม
- การทำโปรไฟล์ CPU
- แยกวัดเวลาที่ใช้ในโค้ด Python และโค้ดเนทีฟ (รวมถึงไลบรารี) เพื่อให้นักพัฒนามุ่งไปที่โค้ดที่สามารถปรับแต่งได้จริง
- ไฮไลต์ ฮอตสปอต ที่กินเวลาของ CPU หรือการจัดสรรหน่วยความจำเป็นสัดส่วนมากด้วยสีแดง
- เวลาระบบถูกแยกออกมาต่างหาก ทำให้ค้นหาคอขวดของ I/O ได้ง่าย
- การทำโปรไฟล์ GPU
- รายงาน เวลา GPU เฉพาะบนระบบที่ใช้ NVIDIA
- การทำโปรไฟล์หน่วยความจำ
- ทำ โปรไฟล์การใช้หน่วยความจำ และระบุบรรทัดโค้ดที่เป็นสาเหตุของการเพิ่มขึ้นของหน่วยความจำผ่านตัวจัดสรรหน่วยความจำแบบพิเศษ
- แยกแสดง สัดส่วนการใช้หน่วยความจำ ของโค้ด Python และโค้ดเนทีฟ
- สร้างโปรไฟล์หน่วยความจำแบบ รายบรรทัด
- ระบุบรรทัดที่อาจเกิด memory leak
- ผ่านการทำโปรไฟล์ ปริมาณการคัดลอก ทำให้ค้นพบการคัดลอกที่ไม่ได้ตั้งใจซึ่งเกิดขึ้นเมื่อข้ามขอบเขตระหว่าง Python/ไลบรารีได้ง่าย (เช่น กรณี
numpy array ถูกแปลงเป็น Python array โดยไม่ตั้งใจ)
- ฟีเจอร์อื่น ๆ
- ด้วยออปชัน
--reduced-profile สามารถสร้าง โปรไฟล์แบบย่อ ที่รายงานเฉพาะบรรทัดที่ใช้ CPU มากกว่า 1% หรือมีการจัดสรรอย่างน้อย 100 ครั้ง
- รองรับเดคอเรเตอร์
@profile เพื่อทำโปรไฟล์เฉพาะบางฟังก์ชันได้
- สามารถ หยุดชั่วคราวและทำงานต่อ การทำโปรไฟล์ของโปรแกรมที่รันอยู่เบื้องหลัง (ที่รันผ่าน
&) ได้
2 ความคิดเห็น
ดูเบากว่า Nsight และน่าจะใช้งานได้มีประโยชน์ทีเดียว ไว้ผมจะลองใช้แล้วมาเขียนรีวิวครับ! ขอบคุณสำหรับการแนะนำครับ
ถ้าช่วยกดไลก์ให้ผมก็จะขอบคุณมากครับ บางครั้งเวลาผมโพสต์ข่าวแบบนี้ ก็แอบสงสัยเหมือนกันว่ามีคนอ่านอยู่มากแค่ไหน 555