2015-10-30 12 views
6

Tôi đang cố gắng để hồ sơ cho một số thực thi bằng cách sử dụng công cụ valgrind - callgrind. Tôi đã tạo đầu ra chú thích bằng cách sử dụng callgrind_annotate --auto=yes. Đầu ra được tạo ra cho tôi biết về số lượng Ir, theo sự hiểu biết của tôi là số lần lệnh cụ thể được gọi, nhưng tôi muốn biết phần nào của mã đang dùng thời gian tối đa để thực thi.Valgrind - callgrind Profiler: Làm thế nào để biết chức năng nào đang mất nhiều thời gian hơn

Tôi làm cách nào để biết?

Trong ứng dụng của tôi, tôi muốn tìm phần mất nhiều thời gian hơn ... có thể có trường hợp hàm nhất định được gọi nhiều hơn số khác .. nhưng hàm được gọi là ít thời gian hơn nhiều thời gian hơn số khác

+0

Có thể trùng lặp [sử dụng valgrind để biết thời gian (tính bằng giây) chi tiêu cho từng chức năng] (http://stackoverflow.com/questions/6663614/use-valgrind-to-know-timein-seconds-spent-in- mỗi chức năng) –

Trả lời

4

Tôi khuyên bạn nên sử dụng giao diện người dùng KCachegrind. Nó giúp dễ dàng hiểu luồng ứng dụng của bạn hơn và phát hiện các tắc nghẽn có thể xảy ra.

+0

Tôi chưa cài đặt KCachegrind ... nhưng sẽ không có đầu ra của nó một lần nữa trên cơ sở số sự kiện. – Ajay

+0

'kcachegrind' có thể hiển thị thời gian sử dụng các cuộc gọi chức năng? – Geremia

Các vấn đề liên quan