Đối với Windows, tôi đã thử AMD Codeanalyst, Intel VTune và trình biên dịch trong Visual Studio Team Edition.
Codeanalyst bị lỗi (thường xuyên gặp sự cố) và trên mã của tôi, kết quả của nó thường không chính xác. Giao diện người dùng của nó không trực quan. Ví dụ: để hiển thị ngăn xếp cuộc gọi trong kết quả hồ sơ, bạn phải nhấp vào tab "Processes", sau đó nhấp vào tên tệp EXE của chương trình của bạn, sau đó nhấp vào nút trên thanh công cụ có các chữ cái nhỏ "CSS" trên đó. Nhưng nó là phần mềm miễn phí, vì vậy bạn cũng có thể thử nó và nó hoạt động (với ít tính năng hơn) mà không cần bộ xử lý AMD.
VTune ($ 700) có giao diện người dùng khủng IMO; trong một chương trình lớn, thật khó để tìm cây cuộc gọi cụ thể mà bạn muốn và bạn chỉ có thể nhìn vào một "nút" trong một chương trình tại một thời điểm (một hàm có các lệnh gọi và lệnh gọi ngay lập tức của nó) - bạn không thể xem xét một cách đầy đủ gọi cây. Có một chế độ xem biểu đồ cuộc gọi, nhưng tôi không thể tìm ra cách làm cho thời gian thực hiện tương đối xuất hiện trên biểu đồ. Nói cách khác, các hàm trong biểu đồ trông giống nhau bất kể thời gian đã dành cho chúng là bao nhiêu - cứ như thể chúng hoàn toàn bỏ lỡ điểm xác định.
Hồ sơ của Visual Studio có GUI tốt nhất trong số ba, nhưng vì lý do nào đó mà nó không thể thu thập các mẫu từ phần lớn mã của tôi (các mẫu chỉ được thu thập cho một vài hàm trong toàn bộ chương trình C ++ của tôi). Ngoài ra, tôi không thể tìm thấy giá hoặc cách mua trực tiếp; nhưng nó đi kèm với đăng ký MSDN của công ty tôi. Visual Studio hỗ trợ mã được quản lý, nguyên bản và hỗn hợp; Tôi không chắc về hai hồ sơ khác trong vấn đề đó.
Tóm lại, tôi chưa biết một hồ sơ cá nhân tốt! Tôi chắc chắn sẽ kiểm tra các đề xuất khác ở đây.