11 คะแนน โดย xguru 2024-10-24 | 2 ความคิดเห็น | แชร์ทาง WhatsApp
  • โปรไฟเลอร์ 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 ความคิดเห็น

 
lethee 2024-10-29

ดูเบากว่า Nsight และน่าจะใช้งานได้มีประโยชน์ทีเดียว ไว้ผมจะลองใช้แล้วมาเขียนรีวิวครับ! ขอบคุณสำหรับการแนะนำครับ

 
xguru 2024-10-30

ถ้าช่วยกดไลก์ให้ผมก็จะขอบคุณมากครับ บางครั้งเวลาผมโพสต์ข่าวแบบนี้ ก็แอบสงสัยเหมือนกันว่ามีคนอ่านอยู่มากแค่ไหน 555