William Cohen
William Cohen has been a developer of performance tools at Red Hat for over a decade and has worked on a number of the performance tools in Red Hat Enterprise Linux and Fedora such as OProfile, PAPI, SystemTap, and Dyninst.
William Cohen's contributions
Speed up SystemTap scripts with statistical aggregates
William Cohen
Learn how to reduce overhead and make your SystemTap scripts more efficient using statistical aggregates and the tips in this tutorial.
Speed up SystemTap script monitoring of system calls
William Cohen
Learn how to speed up SystemTap monitoring of Linux system calls in scripts using the tips and examples in this tutorial.
How data layout affects memory performance
William Cohen
This article explains what developers need to know about modern computer memory and how data layout can affect memory performance.
Algorithms != Programs and Programs are not "One size fits all"
William Cohen
+1
Big-O analysis doesn't always yield the best real world performance. There is likely a mismatch between the mental model taught in school and actual hardware. Part 1 of a series on understanding performance in modern computing.
Reducing the startup overhead of SystemTap monitoring scripts with syscall_any tapset
William Cohen
Reduce SystemTap start up time using the new syscall_any tapset. You can easily instrument all system calls to see what's called and the return values.
Analyzing and reducing SystemTap's startup cost for scripts
William Cohen
For some SystemTap instrumentation scripts, the startup times are too long. This article describes how to analyze and reduce SystemTap's startup costs for scripts.
Making the Operation of Code More Transparent and Obvious with SystemTap
William Cohen
You can study source code and manually instrument functions as described in the “Use the dynamic tracing tools, Luke” blog article, but why not make it easier to find key points in the software by adding user-space markers to the application code? User-space markers have been available in Linux for quite some time (since 2009). The inactive user-space markers do not significantly slow down the code. Having them available allows you to get a more accurate picture of what the...
"Use the dynamic tracing tools, Luke"
William Cohen
Reviewing source code can be helpful in understanding how code works, but the static view may not give you a complete picture. The paths taken through code are heavily data dependent. Learn how to use Systemtap and debuginfo to dig into the Ruby interpreter internals on Red Hat Enterprise Linux 7.
Speed up SystemTap scripts with statistical aggregates
Learn how to reduce overhead and make your SystemTap scripts more efficient using statistical aggregates and the tips in this tutorial.
Speed up SystemTap script monitoring of system calls
Learn how to speed up SystemTap monitoring of Linux system calls in scripts using the tips and examples in this tutorial.
How data layout affects memory performance
This article explains what developers need to know about modern computer memory and how data layout can affect memory performance.
Algorithms != Programs and Programs are not "One size fits all"
Big-O analysis doesn't always yield the best real world performance. There is likely a mismatch between the mental model taught in school and actual hardware. Part 1 of a series on understanding performance in modern computing.
Reducing the startup overhead of SystemTap monitoring scripts with syscall_any tapset
Reduce SystemTap start up time using the new syscall_any tapset. You can easily instrument all system calls to see what's called and the return values.
Analyzing and reducing SystemTap's startup cost for scripts
For some SystemTap instrumentation scripts, the startup times are too long. This article describes how to analyze and reduce SystemTap's startup costs for scripts.
Making the Operation of Code More Transparent and Obvious with SystemTap
"Use the dynamic tracing tools, Luke"
Reviewing source code can be helpful in understanding how code works, but the static view may not give you a complete picture. The paths taken through code are heavily data dependent. Learn how to use Systemtap and debuginfo to dig into the Ruby interpreter internals on Red Hat Enterprise Linux 7.