Sort By:

Efficient Graph Search:
Stop when done.

Welcome to Drill Bits, a new column about programming that aims to augment your toolbox and help you write better software. This pilot episode of Drill Bits borrows from the zeitgeist the principle of eliminating needless work. Graphs provide a versatile, unified abstraction for an exceptionally wide range of practical systems, from electronic circuits to social networks. Graph search is fundamental to analyzing graphs and the real-world systems they represent. Do standard graph-search algorithms leave room for improvement?

by Terence Kelly | September 13, 2020


The Flame Graph:
This visualization of software execution is a new necessity for performance profiling and debugging.

An everyday problem in our industry is understanding how software is consuming resources, particularly CPUs. What exactly is consuming how much, and how did this change since the last software version? These questions can be answered using software profilers, tools that help direct developers to optimize their code and operators to tune their environment. The output of profilers can be verbose, however, making it laborious to study and comprehend. The flame graph provides a new visualization for profiler output and can make for much faster comprehension, reducing the time for root cause analysis.

by Brendan Gregg | April 20, 2016