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

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

4
MATLAB OOP ช้าหรือฉันทำอะไรผิดหรือเปล่า?
ผมทดลองกับMATLAB OOPเป็นจุดเริ่มต้นที่ผมเลียนแบบของฉัน c ++ 's เรียน Logger และฉันวางฟังก์ชั่นผู้ช่วยสตริงของฉันทั้งหมดในชั้นเรียน String คิดว่ามันจะดีที่จะสามารถที่จะทำสิ่งที่ชอบa + b, a == b, a.find( b )แทนstrcat( a b ), strcmp( a, b ), ดึงองค์ประกอบแรกของstrfind( a, b )ฯลฯ ปัญหา: การชะลอตัว ฉันใช้สิ่งต่าง ๆ ข้างต้นเพื่อใช้งานและสังเกตเห็นการชะลอตัวที่รุนแรงในทันที ฉันทำผิดหรือเปล่า (ซึ่งเป็นไปได้อย่างแน่นอนเนื่องจากฉันมีประสบการณ์ค่อนข้าง จำกัด MATLAB) หรือ OOP ของ MATLAB เพิ่งแนะนำค่าใช้จ่ายจำนวนมากหรือไม่? กรณีทดสอบของฉัน นี่คือการทดสอบง่ายๆที่ฉันทำกับสตริงโดยทั่วไปเพียงแค่ต่อท้ายสตริงและนำส่วนที่ต่อท้ายออกมาอีกครั้ง: หมายเหตุ: อย่าเขียนคลาส String อย่างนี้ในรหัสจริง! Matlab …

10
เวลาเริ่มต้น Profiling Vim
ฉันมีปลั๊กอินจำนวนมากที่เปิดใช้งานเมื่อใช้ Vim - ฉันได้รวบรวมปลั๊กอินมาหลายปีแล้ว ฉันรู้สึกเบื่อหน่ายกับระยะเวลาที่ Vim เริ่มต้นในตอนนี้ดังนั้นฉันจึงต้องการสร้างโปรไฟล์การเริ่มต้นและดูว่าปลั๊กอินใดที่ฉันมีส่วนรับผิดชอบ มีวิธีใดบ้างในการกำหนดโปรไฟล์การเริ่มต้นหรือการเรียกใช้สคริปต์ของ Vim ตามหลักการแล้วฉันต้องการทราบว่า Vim ใช้เวลานานเท่าใดในการโหลดสคริปต์ Vim แต่ละครั้ง

11
การวัดเวลาดำเนินการของฟังก์ชันใน C ++
ฉันต้องการที่จะหาวิธีการมากเวลาฟังก์ชั่นบางอย่างต้องใช้เวลาในการฉัน C ++ โปรแกรมที่จะรันบนลินุกซ์ หลังจากนั้นฉันต้องการเปรียบเทียบความเร็ว ฉันเห็นฟังก์ชั่นหลายครั้ง แต่จบลงด้วยสิ่งนี้จากการเพิ่ม Chrono: process_user_cpu_clock, captures user-CPU time spent by the current process ตอนนี้ฉันยังไม่ชัดเจนถ้าฉันใช้ฟังก์ชั่นด้านบนฉันจะได้รับเฉพาะซีพียูที่ใช้ในฟังก์ชั่นนั้นหรือไม่ ประการที่สองฉันไม่พบตัวอย่างการใช้ฟังก์ชั่นด้านบน คนใดคนหนึ่งโปรดช่วยฉันวิธีการใช้ฟังก์ชั่นดังกล่าวข้างต้น? PS: ตอนนี้ฉันใช้std::chrono::system_clock::now()เพื่อรับเวลาในไม่กี่วินาที แต่สิ่งนี้ทำให้ฉันผลลัพธ์ที่แตกต่างเนื่องจากการโหลด CPU ที่แตกต่างกันทุกครั้ง

10
การลดการใช้หน่วยความจำ Django ผลไม้แขวนต่ำ?
การใช้หน่วยความจำของฉันเพิ่มขึ้นเมื่อเวลาผ่านไปและการรีสตาร์ท Django นั้นไม่เหมาะสำหรับผู้ใช้ ฉันไม่แน่ใจว่าจะทำอย่างไรเกี่ยวกับการทำโปรไฟล์การใช้หน่วยความจำ แต่เคล็ดลับเกี่ยวกับวิธีเริ่มการวัดจะมีประโยชน์ ฉันมีความรู้สึกว่ามีขั้นตอนง่ายๆที่สามารถสร้างผลกำไรจำนวนมาก การตรวจสอบให้แน่ใจว่า 'debug' ถูกตั้งค่าเป็น 'False' เป็นปัญหาที่เห็นได้ชัด ใครสามารถแนะนำคนอื่นได้บ้าง การปรับปรุงจะแคชเว็บไซต์ที่มีอัตราการเข้าชมต่ำเท่าใด ในกรณีนี้ฉันใช้งาน Apache 2.x กับ mod_python ฉันได้ยินมาว่า mod_wsgi นั้นค่อนข้างผอม แต่มันก็เป็นเรื่องยากที่จะสลับมาที่ขั้นนี้เว้นแต่ว่าฉันรู้ว่าผลกำไรจะมีความสำคัญ แก้ไข: ขอบคุณสำหรับเคล็ดลับจนถึง ข้อเสนอแนะวิธีการค้นหาสิ่งที่ใช้หน่วยความจำ? มีคำแนะนำในการทำโปรไฟล์หน่วยความจำ Python หรือไม่? นอกจากนี้ตามที่กล่าวมามีบางสิ่งที่จะทำให้ยากที่จะเปลี่ยนไปใช้ mod_wsgi ดังนั้นฉันต้องการมีความคิดเกี่ยวกับกำไรที่ฉันคาดหวังก่อนที่จะไถไปข้างหน้าในทิศทางนั้น แก้ไข: Carl โพสต์การตอบกลับที่มีรายละเอียดเพิ่มเติมเล็กน้อยที่นี่ซึ่งควรค่าแก่การอ่าน: การปรับใช้ Django: การตัด Overhead ของ Apache แก้ไข: บทความของ Graham Dumpleton เป็นบทความที่ดีที่สุดที่ฉันพบใน MPM และ mod_wsgi ฉันค่อนข้างผิดหวังที่ไม่มีใครสามารถให้ข้อมูลเกี่ยวกับการดีบักการใช้หน่วยความจำในแอปได้ แก้ไขครั้งสุดท้าย:ฉันได้คุยเรื่องนี้กับ …

5
จะตั้งค่าการใช้งานหน่วยความจำสูงสุดสำหรับ JVM ได้อย่างไร?
ฉันต้องการ จำกัด หน่วยความจำสูงสุดที่ใช้โดย JVM หมายเหตุนี่ไม่ใช่แค่ฮีปฉันต้องการ จำกัด หน่วยความจำทั้งหมดที่ใช้โดยกระบวนการนี้

6
วิธีสร้างโปรไฟล์ bash shell script การเริ่มต้นช้า?
bash shell ของฉันใช้เวลาถึง 3-4 วินาทีในการเริ่มต้นในขณะที่ถ้าฉันเริ่มด้วย--norcมันจะทำงานทันที ฉันเริ่ม "การทำโปรไฟล์" /etc/bash.bashrcและ~/.bashrcด้วยการใส่returnข้อความและค้นหาการปรับปรุงความเร็วด้วยตนเองแต่มันไม่ใช่กระบวนการเชิงปริมาณและไม่มีประสิทธิภาพ ฉันจะสร้างโปรไฟล์สคริปต์ทุบตีของฉันได้อย่างไรและดูว่าคำสั่งใดใช้เวลาในการเริ่มต้นมากที่สุด
124 bash  profiling 

12
วิธีการโพรไฟล์ใน Scala?
วิธีมาตรฐานในการเรียกเมธอด Scala คืออะไร สิ่งที่ฉันต้องการคือขอเกี่ยวกับวิธีการซึ่งฉันสามารถใช้เพื่อเริ่มและหยุดตัวจับเวลา ใน Java ฉันใช้การเขียนโปรแกรมด้านมุมมองด้าน J เพื่อกำหนดวิธีการที่จะทำโปรไฟล์และฉีดไบต์โค้ดเพื่อให้ได้สิ่งเดียวกัน มีวิธีที่เป็นธรรมชาติมากขึ้นใน Scala ที่ฉันสามารถกำหนดฟังก์ชันมากมายที่จะเรียกก่อนและหลังฟังก์ชันโดยไม่สูญเสียการพิมพ์แบบคงที่ในกระบวนการหรือไม่

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 จะแสดงจำนวนเวลาทั้งหมดที่ "โอน" ไปยังผู้ปกครอง แต่การเชื่อมต่อนี้จะหายไปอีกครั้งเมื่อคุณมีเลเยอร์จำนวนมากและการโทรที่เชื่อมต่อกัน ตามหลักการแล้วฉันชอบที่จะมี …

11
การเปรียบเทียบตัวอย่างโค้ดขนาดเล็กใน C # การปรับใช้นี้สามารถปรับปรุงได้หรือไม่?
บ่อยครั้งที่ฉันพบว่าตัวเองกำลังเปรียบเทียบโค้ดส่วนเล็ก ๆ เพื่อดูว่า implemnetation ใดที่เร็วที่สุด บ่อยครั้งที่ฉันเห็นความคิดเห็นว่ารหัสการเปรียบเทียบไม่ได้คำนึงถึงการกระตุกหรือตัวเก็บขยะ ฉันมีฟังก์ชันการเปรียบเทียบง่ายๆดังต่อไปนี้ซึ่งฉันได้พัฒนาอย่างช้าๆ: static void Profile(string description, int iterations, Action func) { // warm up func(); // clean up GC.Collect(); var watch = new Stopwatch(); watch.Start(); for (int i = 0; i < iterations; i++) { func(); } watch.Stop(); Console.Write(description); Console.WriteLine(" Time Elapsed {0} ms", watch.ElapsedMilliseconds); …

4
เครื่องมือสำหรับวิเคราะห์ประสิทธิภาพของโปรแกรม Haskell
ขณะที่การแก้ปัญหาโครงการออยเลอร์ในการเรียนรู้ Haskell (ดังนั้นขณะนี้ฉันเริ่มต้นสมบูรณ์) ฉันมามากกว่าปัญหา 12 ฉันเขียนวิธีแก้ปัญหา (ไร้เดียงสา) นี้: --Get Number of Divisors of n numDivs :: Integer -> Integer numDivs n = toInteger $ length [ x | x<-[2.. ((n `quot` 2)+1)], n `rem` x == 0] + 2 --Generate a List of Triangular Values triaList :: [Integer] triaList = …

3
วิธีที่เร็วที่สุดในการเลือกองค์ประกอบลูกหลานใน jQuery คืออะไร?
เท่าคือผมรู้ว่ามีหลายวิธีในการเลือกองค์ประกอบของเด็กในjQuery //Store parent in a variable var $parent = $("#parent"); วิธีที่ 1 (โดยใช้ขอบเขต) $(".child", $parent).show(); วิธีที่ 2 (วิธีค้นหา ()) $parent.find(".child").show(); วิธีที่ 3 (สำหรับเด็กในระยะใกล้เท่านั้น) $parent.children(".child").show(); วิธีที่ 4 (ผ่านตัวเลือก CSS) - แนะนำโดย @spinon $("#parent > .child").show(); วิธีที่ 5 (เหมือนกับวิธีที่ 2 ) - ตาม @Kai $("#parent .child").show(); ฉันไม่คุ้นเคยกับการทำโปรไฟล์เพื่อให้สามารถตรวจสอบสิ่งนี้ได้ด้วยตัวเองดังนั้นฉันอยากจะเห็นสิ่งที่คุณพูด ปล. ฉันเข้าใจว่านี่อาจเป็นคำถามที่ซ้ำกันได้แต่ไม่ครอบคลุมทุกวิธี

7
โปรไฟล์ Django
แอปพลิเคชัน django ของฉันทำงานช้าลงอย่างเจ็บปวด อาจเป็นเพราะคำค้นหาที่ซับซ้อนหรือไม่ได้จัดทำดัชนี มีวิธี django-ish ในการกำหนดโปรไฟล์แอปพลิเคชันของฉันหรือไม่?
101 django  profiling 

8
คุณมี kcachegrind เช่นเครื่องมือสร้างโปรไฟล์สำหรับ mac [ปิด]
ปิด. คำถามนี้ไม่เป็นไปตามหลักเกณฑ์กองมากเกิน ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Stack Overflow ปิดให้บริการใน4 ปีที่แล้ว ปรับปรุงคำถามนี้ ใครช่วยบอกฉันเกี่ยวกับเครื่องมือที่คุณมีสำหรับการทำโปรไฟล์เช่น kcachegrind wingrind valgrind สำหรับแพลตฟอร์ม mac ฉันไม่คิดว่าสิ่งเหล่านี้ใช้ได้กับ mac ฉันได้ตรวจสอบอย่างรวดเร็วด้วย

12
มี Visual profiler สำหรับ Python หรือไม่? [ปิด]
ปิด. คำถามนี้ไม่เป็นไปตามหลักเกณฑ์กองมากเกิน ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Stack Overflow ปิดให้บริการใน2 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ตอนนี้ฉันใช้cProfileแต่ฉันคิดว่ามันน่าเบื่อที่จะเขียนโค้ด pstats เพื่อค้นหาข้อมูลสถิติ ฉันกำลังมองหาเครื่องมือภาพที่แสดงให้ฉันเห็นว่ารหัส Python ของฉันกำลังทำอะไรในแง่ของเวลา CPU และการจัดสรรหน่วยความจำ ตัวอย่างบางส่วนจากโลก Java เป็นVisualVMและJProfiler สิ่งนี้มีอยู่จริงหรือไม่? มี IDE ที่ทำสิ่งนี้หรือไม่? dtraceจะช่วยได้ไหม ฉันรู้เกี่ยวกับKCachegrindสำหรับ Linux แต่ฉันต้องการบางอย่างที่สามารถรันบน Windows / Mac ได้โดยไม่ต้องติดตั้ง KDE

7
จะวัดเวลาระหว่างบรรทัดของโค้ดใน python ได้อย่างไร?
ดังนั้นใน Java เราสามารถทำวิธีการวัดเวลาที่ฟังก์ชันดำเนินการได้ แต่มันทำได้อย่างไรใน python? ในการวัดเวลาเริ่มต้นและเวลาสิ้นสุดระหว่างบรรทัดของรหัส? สิ่งที่ทำสิ่งนี้: import some_time_library starttime = some_time_library.some_module() code_tobe_measured() endtime = some_time_library.some_module() time_taken = endtime - starttime

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