Home > Software design >  Profiling Rust with execution time for each *line* of code?
Profiling Rust with execution time for each *line* of code?

Time:10-26

I have profiled my Rust code and see one processor-intensive function that takes a large portion of the time. Since I cannot break the function into smaller parts, I hope I can see which line in the function takes what portion of time. Currently I have tried CLion's Rust profiler, but it does not have that feature.

It would be best if the tool runs on MacOS since I do not have a Windows/Linux machine (except for virtualization).

P.S. Visual studio seems to have this feature; but I am using Rust. enter image description here

CodePudding user response:

Once compiled, "lines" of Rust do not exist. The optimiser does its job by completely reorganising the code you wrote and finding the minimal machine code that behaves the same as what you intended.

Functions are often inlined, so even measuring the time spent in a function can give incorrect results - or else change the performance characteristics of your program if you prevent it from being inlined to do so.

  • Related