Quentin Tsai
Quentin Tsai received a Bachelor’s degree in Computer Science from National Yang Ming Chiao Tung University, Taiwan. In 2022, he completed his Masters in Cybersecurity from National Yang Ming Chiao Tung University, Taiwan. His research interests include software testing, financial engineering and high performance computing.
Quentin is now working at Nvidia as a QA automation engineer.
Sessions
Profiling is widely used to analyze a program’s runtime performance characteristics. It collects performance metric such as CPU usage, function call frequencies and generates reports, graphs, or visualizations that highlight hotspots. There are two kinds of profiling tools, non-intrusive profiling and intrusive profiling. The former gathers information about the program’s behavior by periodically observe the program’s state without modifying its code, the later involves modifying the program’s code or behavior to gather performance data, including source code instrumentation or binary rewriting.
However, most of the existing profiling tools are sampling based such as linux perf, meaning that it can’t capture precise hit count of each function being executed.
In this proposal, I would like to talk about how linux perf tool gathers performance metric and how can one benefit from it to build a source code level profiling tool for a C++ application.