Tôi có một chương trình được tạo thành từ nhiều tệp .h và .c và rất nhiều chức năng. Và có các chức năng gọi các chức năng khác và vân vân. Bây giờ, điều này thực sự là một bài tập vì vậy tôi biết bao nhiêu thời gian chương trình cần để đạt được kết thúc.Công cụ để tìm hiểu điều gì đang làm chậm chương trình C?
Vấn đề là, chương trình của tôi mất quá nhiều thời gian so với thời gian tôi được cung cấp. Có thể tìm ra chức năng nào mất quá nhiều thời gian hoặc phần nào của mã đang giữ chương trình không?
Tôi không cung cấp mã ở đây vì quá dài. Tôi biết rằng không ai có thể trả lời tại sao "chương trình của tôi" chậm nhưng tôi nói chung! Có công cụ nào đo lường thời gian mà mỗi chức năng thực hiện hoặc tương tự? Tôi đang sử dụng gcc và tôi đang sử dụng Linux.
Điều này là không thể trả lời. Có tồn tại toàn bộ vũ trụ nguyên nhân gốc rễ và bạn thậm chí còn không cho chúng tôi thấy mã. –
Bạn nên xem [profiling] (https://en.wikipedia.org/wiki/Profiling_%28computer_programming%29). Đây chính xác là quá trình sẽ giải quyết vấn đề của bạn. ('gprof' là một ví dụ về một profiler thường được cài đặt sẵn trên các hệ thống Unix/Linux.) – huon
Bạn thực sự nên xem xét lược tả mã của mình như được chỉ ra bởi @dbaupp. Một số công cụ - valgrind = http://valgrind.org/, gprof = http: //www.cs.utah.edu/dept/old/texinfo/as/gprof_toc.html ... http: //oprofile.sourceforge. net/news/= OProfile. GProf là rất tốt trong số họ tôi thường sử dụng nó. – verisimilitude