ฉันกำลังมองหาผู้สร้างโปรไฟล์เพื่อค้นหาคอขวดในรหัส C ++ ของฉัน ฉันต้องการหาเครื่องมือสร้างโปรไฟล์ฟรีที่ไม่ล่วงล้ำและดี ฉันเป็นผู้พัฒนาเกมและฉันใช้ PIX สำหรับ Xbox 360 และพบว่าดีมาก แต่ไม่ฟรี ฉันรู้ Intel VTuneแต่ไม่ฟรี
ฉันกำลังมองหาผู้สร้างโปรไฟล์เพื่อค้นหาคอขวดในรหัส C ++ ของฉัน ฉันต้องการหาเครื่องมือสร้างโปรไฟล์ฟรีที่ไม่ล่วงล้ำและดี ฉันเป็นผู้พัฒนาเกมและฉันใช้ PIX สำหรับ Xbox 360 และพบว่าดีมาก แต่ไม่ฟรี ฉันรู้ Intel VTuneแต่ไม่ฟรี
คำตอบ:
ตอนนี้CodeXLได้แทนที่ End Of Line'd นักวิเคราะห์รหัสของAMDและทั้งสองรุ่นนั้นฟรี แต่ไม่ใช่ขั้นสูงเท่ากับ VTune นอกจากนี้ยังมีSleepyซึ่งง่ายมาก แต่ทำงานในหลาย ๆ กรณี
Very Sleepyเป็นตัวสร้างโปรไฟล์ C / C ++ สำหรับระบบ Windows (ฟรี)
CppCheckเป็นCiler C / C ++ แบบคงที่สำหรับระบบ Windows (ฟรี)
Proffy ค่อนข้างเท่ห์: http://pauldoo.com/proffy/
คำเตือน: ฉันเขียนสิ่งนี้
มีผู้สร้างเครื่องมือ (ฟังก์ชันที่แม่นยำ) สำหรับ MS VC 7.1 และสูงกว่าที่เรียกว่า MicroProfiler คุณจะได้รับมันนี่ (x64)หรือนี่ (x86) มันไม่จำเป็นต้องมีการแก้ไขหรือเพิ่มเติมรหัสของคุณและสามารถแสดงสถิติของฟังก์ชั่นกับผู้โทรและ callees แบบเรียลไทม์โดยไม่จำเป็นต้องปิดแอปพลิเคชัน / หยุดกระบวนการทำโปรไฟล์
มันทำงานร่วมกับ VisualStudio เพื่อให้คุณสามารถเปิด / ปิดการทำโปรไฟล์สำหรับโครงการได้อย่างง่ายดาย นอกจากนี้ยังเป็นไปได้ที่จะติดตั้งบนเครื่องที่สะอาดมันเพียงต้องการข้อมูลสัญลักษณ์ที่อยู่พร้อมกับการปฏิบัติการที่ถูกทำโปรไฟล์
เครื่องมือนี้มีประโยชน์เมื่อการประมาณทางสถิติจากการสุ่มตัวอย่างโปรไฟล์เช่น Very Sleepy ไม่เพียงพอ
การเปรียบเทียบคร่าวๆแสดงให้เห็นว่ามันเต้น AQTime (เมื่อมีการเรียกใช้ในการใช้เครื่องมือการเรียกใช้ระดับฟังก์ชัน) โปรแกรมต่อไปนี้ (การเพิ่มประสิทธิภาพเต็มรูปแบบ, ปิดการใช้งานอินไลน์) ทำงานได้เร็วขึ้นสามเท่าด้วยตัวสร้างโปรไฟล์ขนาดเล็กที่แสดงผลลัพธ์แบบเรียลไทม์กว่าด้วย AQTime เพียงรวบรวมสถิติ:
void f()
{
srand(time(0));
vector<double> v(300000);
generate_n(v.begin(), v.size(), &random);
sort(v.begin(), v.end());
sort(v.rbegin(), v.rend());
sort(v.begin(), v.end());
sort(v.rbegin(), v.rend());
}
Microsoft มี Windows ประสิทธิภาพ Toolkit
มันต้องการ Windows Vista, Windows Server 2008หรือ Windows 7
การเพิ่มใหม่คือShinyเงา
ฉันขอแนะนำWindows Performance Toolkit (WPT)หรือXPERF
เครื่องมือบรรทัดคำสั่ง xperf บรรทัดคำสั่งบันทึกเหตุการณ์การสืบค้นกลับสำหรับ Windows (ETW) บันทึกที่สามารถวิเคราะห์โดยใช้เครื่องมือ GUI xperfview
การใช้การยืนยันบรรทัดคำสั่ง stacktraceได้พิสูจน์แล้วว่าเป็นเครื่องมือที่มีค่าสำหรับ บริษัท ของฉันเนื่องจากโปรไฟล์และแก้ไขปัญหาคอขวด หนึ่งในสิ่งที่น่าสนใจที่สุดคือ WPT สามารถติดตั้งได้ในทุกสภาพแวดล้อมแม้กระทั่งบนWindows XP ที่น่าเชื่อถือ
ในWindows 8 ตัววิเคราะห์ประสิทธิภาพของ Windowsยกระดับ xperf ให้สูงขึ้น
ตัวเลขและสถิติที่จัดทำในบันทึก ETW นั้นมีรายละเอียดที่เหนือชั้นยกเว้นสำหรับผู้สร้างโปรไฟล์ภาพ (2010/2012) ซึ่งเยี่ยมยอด แต่ไม่ฟรี AFAIK
หากคุณไม่เคยใช้ xperf ... คุณไม่ทราบว่าคุณพลาดอะไรไป
ฉันใช้ AQTime เป็นหนึ่งในเครื่องมือทำโปรไฟล์ที่ดีที่สุดที่ฉันเคยใช้ มันไม่ฟรี แต่คุณสามารถทดลองใช้ได้ 30 วันดังนั้นหากคุณวางแผนที่จะเพิ่มประสิทธิภาพและสร้างโปรไฟล์เพียงหนึ่งโครงการและ 30 วันก็เพียงพอสำหรับคุณดังนั้นฉันขอแนะนำให้ใช้โปรแกรมนี้ ( http://www.automatedqa.com/downloads/aqtime/index.asp )
โปรดลองผู้สร้างโปรไฟล์ของฉันชื่อ cRunWatch มันเป็นเพียงสองไฟล์ดังนั้นจึงง่ายต่อการรวมเข้ากับโครงการของคุณและต้องการเพิ่มหนึ่งบรรทัดเพื่อใช้เป็นส่วนหนึ่งของรหัส
http://ravenspoint.wordpress.com/2010/06/16/timing/
ต้องการไลบรารี Boost
ฉันใช้Luke Stackwalkerและทำงานให้กับโครงการ Visual Studio ของฉัน
โครงการที่น่าสนใจอื่น ๆ ได้แก่ :
ฉันใช้ "TrueTime - เป็นส่วนหนึ่งของชุด DevPartner ของ Compuware เป็นเวลาหลายปีมี [รุ่นฟรี] (คุณสามารถลองใช้งาน Compuware DevPartner Performance Analysis Community Edition) ได้
ฉันใช้ VSPerfMon ซึ่งเป็น StandAlone Visual Studio Profiler ฉันเขียนเครื่องมือ GUI เพื่อช่วยฉันเรียกใช้และดูผลลัพธ์
คุณสามารถใช้ EmbeddedProfiler ได้ฟรีทั้ง Linux และ Windwos
ตัวสร้างโปรไฟล์ล่วงล้ำ (ตามหน้าที่การใช้งาน) แต่ไม่จำเป็นต้องแก้ไขโค้ดใด ๆ เพียงเพิ่มแฟล็กคอมไพเลอร์เฉพาะ (-finstrument-functios สำหรับ gcc / MinGW หรือ / GH สำหรับ MSVC) และเชื่อมโยงไลบรารีของ profiler มันสามารถให้สายการโทรแบบเต็มหรือเพียงแค่รายการ funciton มีตัววิเคราะห์ GUI เป็นของตัวเอง