คำถามติดแท็ก profiling

การทำโปรไฟล์เป็นกระบวนการวัดแอปพลิเคชันหรือระบบโดยการเรียกใช้เครื่องมือวิเคราะห์ที่เรียกว่าผู้สร้างโปรไฟล์ เครื่องมือสร้างโปรไฟล์สามารถมุ่งเน้นไปที่หลาย ๆ ด้าน ได้แก่ เวลาในการโทรและจำนวนฟังก์ชันการใช้หน่วยความจำการโหลดซีพียูและการใช้ทรัพยากร

19
ฉันจะโปรไฟล์รหัส C ++ ที่ทำงานบน Linux ได้อย่างไร
ฉันมีแอปพลิเคชั่น C ++ ที่ทำงานบน Linux ซึ่งฉันอยู่ในขั้นตอนการปรับให้เหมาะสม ฉันจะระบุได้อย่างไรว่าส่วนใดของรหัสที่ทำงานช้า
1816 c++  linux  profiling 

29
คุณจะสร้างโปรไฟล์สคริปต์ Python ได้อย่างไร?
โครงการออยเลอร์และการแข่งขันการเข้ารหัสอื่น ๆ มักจะมีเวลาสูงสุดในการรัน กับงูหลามบางครั้งแนวทางที่ค่อนข้างค่อนข้างแออัดเกินไป - __main__คือการเพิ่มรหัสระยะเวลาที่จะ วิธีที่ดีในการทำโพรไฟล์ว่าโปรแกรม Python ใช้เวลานานแค่ไหน?

27
วิธีการวัดเวลาที่ฟังก์ชั่นดำเนินการ
ฉันต้องใช้เวลาดำเนินการเป็นมิลลิวินาที เดิมฉันถามคำถามนี้กลับในปี 2008 คำตอบที่ยอมรับแล้วคือการใช้ Date ใหม่ (). getTime ()อย่างไรก็ตามเราทุกคนสามารถตกลงกันได้แล้วว่าการใช้Performance.now () API นั้นเหมาะสมกว่า ดังนั้นฉันจึงเปลี่ยนคำตอบที่ยอมรับให้กับคำตอบนี้

3
ทำไมรหัสไพ ธ อนจึงทำงานได้เร็วขึ้นในฟังก์ชั่น?
def main(): for i in xrange(10**8): pass main() รหัสชิ้นนี้ใน Python ทำงานใน (หมายเหตุ: การจับเวลาเสร็จสิ้นด้วยฟังก์ชั่นเวลาใน BASH ใน Linux) real 0m1.841s user 0m1.828s sys 0m0.012s อย่างไรก็ตามหาก for for ไม่ได้อยู่ในฟังก์ชัน for i in xrange(10**8): pass จากนั้นมันจะทำงานเป็นเวลานาน: real 0m4.543s user 0m4.524s sys 0m0.012s ทำไมนี้

8
แนะนำหน่วยความจำ Python ใด? [ปิด]
ปิด. คำถามนี้ไม่เป็นไปตามหลักเกณฑ์กองมากเกิน ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Stack Overflow ปิดให้บริการใน6 ปีที่ผ่านมา ฉันต้องการทราบการใช้หน่วยความจำของแอปพลิเคชั่น Python ของฉันและต้องการทราบว่าการบล็อกโค้ด / ส่วนหรือวัตถุใดที่ใช้หน่วยความจำมากที่สุด การค้นหาของ Google แสดงโฆษณาหนึ่งคือPython Memory Validator (Windows เท่านั้น) และคนที่มาเปิดPySizerและHeapy ฉันไม่ได้ลองใครเลยฉันอยากรู้ว่าอันไหนดีที่สุดในการพิจารณา: ให้รายละเอียดมากที่สุด ฉันต้องทำอย่างน้อยหรือไม่มีการเปลี่ยนแปลงรหัสของฉัน

30
Profilers .NET ที่ดีคืออะไร
ล็อคแล้ว คำถามและคำตอบนี้ถูกล็อคเนื่องจากคำถามอยู่นอกหัวข้อ แต่มีความสำคัญทางประวัติศาสตร์ ขณะนี้ไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ คุณใช้โปรไฟล์อะไรเมื่อทำงานกับโปรแกรม. net และแนะนำโดยเฉพาะอย่างยิ่ง
374 c#  .net  profiling  profiler 

11
ฉันจะวัดเวลาดำเนินการของโค้ด JavaScript ด้วยการโทรกลับได้อย่างไร
ฉันมีรหัสจาวาสคริปต์ที่ฉันกำลังใช้งานโดยใช้node.jsล่าม for(var i = 1; i < LIMIT; i++) { var user = { id: i, name: "MongoUser [" + i + "]" }; db.users.save(user, function(err, saved) { if(err || !saved) { console.log("Error"); } else { console.log("Saved"); } }); } ฉันจะวัดเวลาที่ใช้โดยการดำเนินการแทรกฐานข้อมูลเหล่านี้ได้อย่างไร ฉันสามารถคำนวณความแตกต่างของค่าวันที่หลังและก่อนรหัสชิ้นนี้ แต่จะไม่ถูกต้องเนื่องจากลักษณะไม่ตรงกันของรหัส

13
วิธีที่ง่ายที่สุดในการสร้างโปรไฟล์สคริปต์ PHP
วิธีที่ง่ายที่สุดในการสร้างโปรไฟล์สคริปต์ PHP คืออะไร ฉันชอบที่จะแก้ไขบางสิ่งบางอย่างที่แสดงให้ฉันเห็นว่าการเรียกใช้ฟังก์ชั่นทั้งหมดและระยะเวลาที่พวกเขาใช้ไป แต่ฉันก็โอเคที่จะทำหน้าที่เฉพาะเจาะจง ฉันพยายามทดลองด้วยฟังก์ชั่นmicrotime : $then = microtime(); myFunc(); $now = microtime(); echo sprintf("Elapsed: %f", $now-$then); แต่บางครั้งก็ให้ผลลัพธ์เชิงลบ รวมทั้งปัญหาในการโรยรหัสของฉัน
289 php  profiling 

10
การวัดเวลาดำเนินการของฟังก์ชันใน R
มีวิธีที่เป็นมาตรฐานใน R ของการวัดเวลาดำเนินการของฟังก์ชั่นหรือไม่? เห็นได้ชัดว่าฉันสามารถใช้system.timeก่อนและหลังการประหารชีวิตและจากนั้นนำความแตกต่างของสิ่งเหล่านั้น แต่ฉันอยากจะรู้ว่ามีวิธีการหรือฟังก์ชั่นที่ได้มาตรฐานหรือไม่ ฉันดูเหมือนจะจำได้ว่าฉันเคยใช้บางสิ่งบางอย่างเช่นด้านล่าง: somesysfunction("myfunction(with,arguments)") > Start time : 2001-01-01 00:00:00 # output of somesysfunction > "Result" "of" "myfunction" # output of myfunction > End time : 2001-01-01 00:00:10 # output of somesysfunction > Total Execution time : 10 seconds # output of somesysfunction
282 r  time  profiling 

8
ฉันจะโปรไฟล์การใช้หน่วยความจำใน Python ได้อย่างไร?
ฉันเพิ่งเริ่มสนใจอัลกอริทึมและได้เริ่มสำรวจพวกเขาด้วยการเขียนการใช้งานที่ไร้เดียงสาและปรับให้เหมาะสมในรูปแบบต่างๆ ฉันคุ้นเคยกับโมดูล Python มาตรฐานสำหรับการรวบรวมสถานะ (สำหรับสิ่งส่วนใหญ่ฉันพบว่าฟังก์ชัน timeit magic ใน IPython เพียงพอแล้ว) แต่ฉันก็สนใจการใช้หน่วยความจำด้วยดังนั้นฉันจึงสามารถสำรวจการแลกเปลี่ยนเหล่านั้นได้เช่นกัน ( เช่นค่าใช้จ่ายในการแคชตารางของค่าที่คำนวณก่อนหน้านี้กับการคำนวณใหม่ตามที่จำเป็น) มีโมดูลที่จะโปรไฟล์การใช้งานหน่วยความจำของฟังก์ชั่นที่กำหนดสำหรับฉันหรือไม่?
230 python  memory  profiling 


7
ฉันจะวิเคราะห์ไฟล์. hprof ได้อย่างไร
ฉันมีเซิร์ฟเวอร์ที่ใช้งานจริงที่ใช้แฟล็กต่อไปนี้: - XX: + HeapDumpOnOutOfMemoryError เมื่อคืนมันสร้างไฟล์ java-38942.hprof เมื่อเซิร์ฟเวอร์ของเราพบข้อผิดพลาดของฮีป ปรากฎว่าผู้พัฒนาระบบรู้ถึงการตั้งค่าสถานะ แต่ไม่มีทางที่จะได้รับข้อมูลที่เป็นประโยชน์ใด ๆ จากมัน ความคิดใด ๆ
227 java  profiling  heap 

8
วิธีการเรียก XDebug profiler สำหรับสคริปต์ PHP บรรทัดคำสั่ง?
XDebug เสนอคำสั่งการกำหนดค่า "xdebug.profiler_enable_trigger" ที่อนุญาตให้เปิดใช้งานการทำโปรไฟล์โดยผ่านพารามิเตอร์ GET หรือ POST "XDEBUG_PROFILE" เมื่อเรียกใช้สคริปต์ผ่าน HTTP สิ่งนี้มีประโยชน์ถ้าคุณไม่ต้องการทำโปรไฟล์สำหรับสคริปต์ทั้งหมด แต่สำหรับบางกรณีพิเศษโดยไม่ต้องเปลี่ยนการกำหนดค่า PHP ของคุณเสมอ มีวิธีการที่จะบรรลุพฤติกรรมเดียวกันสำหรับโปรแกรม PHP บรรทัดคำสั่งหรือไม่ ฉันพยายามส่ง "XDEBUG_PROFILE" เป็นอาร์กิวเมนต์บรรทัดคำสั่ง แต่ไม่ได้ผล โดยทั่วไปแล้ว PHP บรรทัดคำสั่งการทำโปรไฟล์ทำงานได้ดี แต่ฉันต้องการความยืดหยุ่นต่อการโทรเช่นเดียวกับเบราว์เซอร์และเซิร์ฟเวอร์ HTTP ข้อเสนอแนะใด ๆ

7
ทางเลือกของ gprof [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้มีแนวโน้มที่จะเรียกร้องให้มีการอภิปรายโต้แย้งโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน7 ปีที่ผ่านมา โปรแกรมอื่นทำอะไรเช่นเดียวกันกับ gprof

19
Beyond Stack Sampling: C ++ Profilers
เรื่องของแฮกเกอร์ วันที่คือ 12/02/10 หลายวันก่อนวันคริสต์มาสกำลังจะหายไปและฉันก็โดนบล็อกถนนสายสำคัญในฐานะโปรแกรมเมอร์หน้าต่าง ฉันใช้ AQTime ฉันพยายามง่วงนอนเป็นประกายและง่วงนอนมากและเมื่อเราพูด VTune กำลังติดตั้ง ฉันได้ลองใช้ตัวสร้างโปรไฟล์ VS2008 และมันก็ถูกลงโทษในทางบวกเช่นกัน ฉันใช้เทคนิคการหยุดชั่วคราวแบบสุ่ม ฉันตรวจสอบต้นไม้ต้นสาย ฉันไล่ออกจากฟังก์ชั่นการติดตาม แต่ข้อเท็จจริงที่เจ็บปวดอันน่าเศร้าของเรื่องนี้ก็คือแอปที่ฉันใช้งานอยู่นั้นมีโค้ดมากกว่าหนึ่งล้านบรรทัดโดยอาจมีแอพของบุคคลที่สามอีกกว่าล้านบรรทัด ฉันต้องการเครื่องมือที่ดีกว่า ฉันอ่านหัวข้ออื่นแล้ว ฉันลองแต่ละโปรไฟล์ที่ระบุไว้ในแต่ละหัวข้อ จะต้องมีสิ่งที่ดีกว่าตัวเลือกขยะและราคาแพงเหล่านี้หรือจำนวนงานที่น่าหัวเราะจนแทบไม่มีกำไร เพื่อให้เกิดความซับซ้อนยิ่งขึ้นรหัสของเรามีการใช้เธรดอย่างหนักและเรียกใช้ลูป Qt Event จำนวนหนึ่งซึ่งบางส่วนมีความเปราะบางจนเกิดความผิดพลาดภายใต้เครื่องมือหนักเนื่องจากความล่าช้าของเวลา อย่าถามฉันว่าเหตุใดเราจึงเรียกใช้ลูปหลายเหตุการณ์ ไม่มีใครสามารถบอกได้ มีตัวเลือกเพิ่มเติมตามแนวของ Valgrind ในสภาพแวดล้อมของ windows หรือไม่? มีอะไรดีไปกว่าเครื่องมือที่ชำรุดอันยาวเหยียดที่ฉันได้ลองไปแล้วหรือไม่? มีอะไรที่ออกแบบมาเพื่อรวมเข้ากับ Qt หรืออาจจะมีการแสดงกิจกรรมที่เป็นประโยชน์ในคิว? รายการทั้งหมดของเครื่องมือที่ฉันลองด้วยเครื่องมือที่มีประโยชน์จริง ๆ ในตัวเอียง: AQTime:ค่อนข้างดี! มีปัญหากับการเรียกซ้ำแบบลึก แต่กราฟการโทรนั้นถูกต้องในกรณีเหล่านี้และสามารถใช้เพื่อกำจัดความสับสนที่คุณอาจมี ไม่ใช่เครื่องมือที่สมบูรณ์แบบ แต่ควรลองใช้ดู มันอาจเหมาะกับความต้องการของคุณและมันก็ดีพอสำหรับฉันเกือบตลอดเวลา หยุดการโจมตีแบบสุ่มชั่วคราวในโหมดดีบั๊ก:มีข้อมูลไม่เพียงพอ เครื่องมือที่ดี แต่ไม่ใช่โซลูชันที่สมบูรณ์ Parallel Studios: ตัวเลือกนิวเคลียร์ …

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.