~Simpler way to profile and diagnose~ http://r-kan.github.io/semile/
2016/10/07: c interface is supported
semile is refined with much more simpler use model!
What is semile?
A profiling framework provides the ability to monitor programs, in general of any programming language, by the following two pieces of information:
- consumed time per execution
- 'footprint' debug message per execution
Difference with other profiling tools?
- Profile 'semantically' Each call to the same function plays its individual role within profiling. Normal 'syntactic' profilers are good in other aspects but fail to achieve this.
- Lightweight The profiled program gives little run-time overhead. The viewer is compact that targets to provide only necessary information without fancy visual effect. It gives profile result in widespread PNG and XML format.
- Message-embedded profile Custom information can be left within profile elements. It then also provides the ability to help reveal internal state/decision inside the program.
P.S. The user-provided semantic specifications (via the profile library) is necessary for semantic profile
g++ (c/cpp profile library)
profiler/cpp_library/src => check to see how to use cpp profile library
profiler/cpp_library/example => check to see an example using cpp profile library
profiler/c_interface/src => check to see how to use c profile interface
profiler/c_interface/example => check to see an example using c profile interface
viewer/README => check to see how to use
Find screenshots, tutorials, and more information at http://r-kan.github.io/semile/!