Flat profile: Each sample counts as 0.01 seconds. % cumulative self self total time seconds seconds calls ms/call ms/call name 64.71 0.33 0.33 10000000 0.00 0.00 find_rank_student 21.57 0.44 0.11 1 110.00 470.00 sort_students 5.88 0.47 0.03 10000 0.00 0.00 bubblesort 5.88 0.50 0.03 1 30.00 30.00 generate_ranks 1.96 0.51 0.01 1000 0.01 0.01 generate_array 0.00 0.51 0.00 2 0.00 0.00 free_array 0.00 0.51 0.00 1 0.00 10.00 generate_grades Call graph granularity: each sample hit covers 4 byte(s) for 1.96% of 0.51 seconds index % time self children called name [1] 100.0 0.00 0.51 main [1] 0.11 0.36 1/1 sort_students [2] 0.03 0.00 1/1 generate_ranks [5] 0.00 0.01 1/1 generate_grades [7] 0.00 0.00 2/2 free_array [9] ----------------------------------------------- 0.11 0.36 1/1 main [1] [2] 92.2 0.11 0.36 1 sort_students [2] 0.33 0.00 10000000/10000000 find_rank_student [3] 0.03 0.00 10000/10000 bubblesort [4] ----------------------------------------------- 0.33 0.00 10000000/10000000 sort_students [2] [3] 64.7 0.33 0.00 10000000 find_rank_student [3] ----------------------------------------------- 0.03 0.00 10000/10000 sort_students [2] [4] 5.9 0.03 0.00 10000 bubblesort [4] ----------------------------------------------- 0.03 0.00 1/1 main [1] [5] 5.9 0.03 0.00 1 generate_ranks [5] ----------------------------------------------- 0.01 0.00 1000/1000 generate_grades [7] [6] 2.0 0.01 0.00 1000 generate_array [6] ----------------------------------------------- 0.00 0.01 1/1 main [1] [7] 2.0 0.00 0.01 1 generate_grades [7] 0.01 0.00 1000/1000 generate_array [6] ----------------------------------------------- 0.00 0.00 2/2 main [1] [9] 0.0 0.00 0.00 2 free_array [9] ----------------------------------------------- Index by function name [4] bubblesort [6] generate_array [2] sort_students [3] find_rank_student [7] generate_grades [9] free_array [5] generate_ranks