# flame graph

Published articles for flame graph.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## The Hidden Cost of Convenience: Rethinking Old ORM Patterns for Scale

DevFeed: [The Hidden Cost of Convenience: Rethinking Old ORM Patterns for Scale](<https://devfeed.tech/articles/the-hidden-cost-of-convenience-rethinking-old-orm-patterns-for-scale-20459.md>)

Original publisher: [Read original article](<https://eng.wealthfront.com/2025/12/08/the-hidden-cost-of-convenience-rethinking-old-orm-patterns-for-scale/>)

Author: Andrew Houts

Published: 2025-12-08T22:06:50Z

Content type: article

Language: en

Sources: [Wealthfront](<https://devfeed.tech/sources/wealthfront.md>)

Topics: [Object-relational mapping](<https://devfeed.tech/topics/orm.md>), [Code](<https://devfeed.tech/topics/code.md>), [data](<https://devfeed.tech/topics/data.md>), [Tooling](<https://devfeed.tech/topics/tooling.md>), [dashboards](<https://devfeed.tech/topics/dashboards.md>), [Database](<https://devfeed.tech/topics/database.md>), [Concurrency](<https://devfeed.tech/topics/concurrency.md>)

Tags: [backend](<https://devfeed.tech/tags/backend.md>), [best-practices](<https://devfeed.tech/tags/best-practices.md>), [code](<https://devfeed.tech/tags/code.md>), [data](<https://devfeed.tech/tags/data.md>), [database](<https://devfeed.tech/tags/database.md>), [flame-graph](<https://devfeed.tech/tags/flame-graph.md>), [orm](<https://devfeed.tech/tags/orm.md>), [parallelism](<https://devfeed.tech/tags/parallelism.md>), [performance](<https://devfeed.tech/tags/performance.md>), [profiling](<https://devfeed.tech/tags/profiling.md>), [sql](<https://devfeed.tech/tags/sql.md>), [tooling](<https://devfeed.tech/tags/tooling.md>), [wealthfront-engineering](<https://devfeed.tech/tags/wealthfront-engineering.md>)

### AI overview

Wealthfront examines performance problems in an aging portfolio balance calculation system whose overnight batch processing scaled poorly as client growth and assets under management increased. The article describes profiling the job with command-line and sampling-profiler tools, using collected data and flame graphs to investigate where runtime was spent.

### Source excerpt

Ever been here before? Stuck with a job that needs to be continually revisited because its performance gets worse with every passing day, and each attempt at improving said performance yields diminishing returns? This is the situation we found ourselves in with the portfolio balance calculation system--the code responsible for aggregating data from multiple sources... Read more

## Doom GPU Flame Graphs

DevFeed: [Doom GPU Flame Graphs](<https://devfeed.tech/articles/doom-gpu-flame-graphs-13603.md>)

Original publisher: [Read original article](<http://www.brendangregg.com/blog//2025-05-01/doom-gpu-flame-graphs.html>)

Published: 2025-04-30T14:00:00Z

Content type: article

Language: en

Sources: [Brendan Gregg's Blog](<https://devfeed.tech/sources/brendan-gregg-s-blog.md>)

Topics: [GPU](<https://devfeed.tech/topics/gpu.md>), [shaders](<https://devfeed.tech/topics/shaders.md>), [intel](<https://devfeed.tech/topics/intel.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [blog](<https://devfeed.tech/tags/blog.md>), [doom](<https://devfeed.tech/tags/doom.md>), [dust](<https://devfeed.tech/tags/dust.md>), [flame-graph](<https://devfeed.tech/tags/flame-graph.md>), [games](<https://devfeed.tech/tags/games.md>), [gaming](<https://devfeed.tech/tags/gaming.md>), [gpu](<https://devfeed.tech/tags/gpu.md>), [intel](<https://devfeed.tech/tags/intel.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [performance](<https://devfeed.tech/tags/performance.md>), [plugin](<https://devfeed.tech/tags/plugin.md>), [profile](<https://devfeed.tech/tags/profile.md>), [shaders](<https://devfeed.tech/tags/shaders.md>), [svg](<https://devfeed.tech/tags/svg.md>)

### AI overview

The article demonstrates full-stack GPU flame graphs and GPU FlameScope using GZDoom, including Intel Battlemage GPU support. It shows how synchronized CPU and GPU profiling can correlate workload periods and identify GPU shader compilation and NIR preprocessing as sources of CPU activity.

### Source excerpt

AI Flame Graphs are now open source and include Intel Battlemage GPU support, which means it can also generate full-stack GPU flame graphs for providing new insights into gaming performance, especially when coupled with FlameScope (an older open source project of mine). Here's an example of GZDoom, and I'll start with flame scopes for both CPU and GPU utilization, with details annotated: (Here are the raw CPU and GPU versions.) FlameScope shows a subsecond-offset heatmap of profile samples, where each column is one second (in this example, made up of 50 x 20ms blocks) and the color depth represents the number of samples, revealing variance and perturbation that you can select to generate a flame graph just for that time range. Update: the row size can be ajusted (it is limited by the sample rate captured in the profile), e.g., you could generate 60 rows to match 60fps games. Putting these CPU and GPU flame scopes side by side has enabled your eyes to do pattern matching to solve what would otherwise be a time-consuming task of performance correlation. The gaps in the GPU flame scope on the right - where the GPU was not doing much work - match the heavier periods of CPU work on the left. CPU Analysis FlameScope lets us click on the interesting periods. By selecting one of the CPU shader compilation stripes we get the flame graph just for that range: This is brilliant, and we can see exactly why the CPUs were busy for about 180 ms (the vertical length of the red stripe): it's doing compilation of GPU shaders and some NIR preprocessing (optimizations to the NIR intermediate representation that Mesa uses internally). If you are new to flame graphs, you look for the widest towers and optimize them first. Here is the interactive SVG. CPU flame graphs and CPU flame scope aren't new (from 2011 and 2018, both open source). What is new is full-stack GPU flame graphs and GPU flame scope. GPU Analysis Interesting details can also be selected in the GPU FlameScope for generating

## AI Flame Graphs

DevFeed: [AI Flame Graphs](<https://devfeed.tech/articles/ai-flame-graphs-13602.md>)

Original publisher: [Read original article](<http://www.brendangregg.com/blog//2024-10-29/ai-flame-graphs.html>)

Published: 2024-10-28T13:00:00Z

Content type: article

Language: en

Sources: [Brendan Gregg's Blog](<https://devfeed.tech/sources/brendan-gregg-s-blog.md>)

Topics: [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [GPU](<https://devfeed.tech/topics/gpu.md>), [intel](<https://devfeed.tech/topics/intel.md>), [telemetry](<https://devfeed.tech/topics/telemetry.md>), [Instrumentation](<https://devfeed.tech/topics/instrumentation.md>), [eBPF](<https://devfeed.tech/topics/ebpf.md>), [C++](<https://devfeed.tech/topics/c-plus-plus.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [blog](<https://devfeed.tech/tags/blog.md>), [c-plus-plus](<https://devfeed.tech/tags/c-plus-plus.md>), [ebpf](<https://devfeed.tech/tags/ebpf.md>), [flame-graph](<https://devfeed.tech/tags/flame-graph.md>), [flamegraph](<https://devfeed.tech/tags/flamegraph.md>), [gpu](<https://devfeed.tech/tags/gpu.md>), [instrumentation](<https://devfeed.tech/tags/instrumentation.md>), [intel](<https://devfeed.tech/tags/intel.md>), [performance](<https://devfeed.tech/tags/performance.md>), [profiling](<https://devfeed.tech/tags/profiling.md>), [svg](<https://devfeed.tech/tags/svg.md>), [visualization](<https://devfeed.tech/tags/visualization.md>)

### AI overview

The article presents AI Flame Graphs, an Intel analyzer that visualizes AI accelerator or GPU instruction activity together with the software stack. It explains how the profiler uses Intel EU stall profiling and eBPF instrumentation to identify costly code paths, illustrating optimization differences in a SYCL matrix-multiply benchmark.

### Source excerpt

Imagine halving the resource costs of AI and what that could mean for the planet and the industry -- based on extreme estimates such savings could reduce the total US power usage by over 10% by 20301. At Intel we've been creating a new analyzer tool to help reduce AI costs called AI Flame Graphs: a visualization that shows an AI accelerator or GPU hardware profile along with the full software stack, based on my CPU flame graphs. Our first version is available to customers in the Intel Tiber AI Cloud as a preview for the Intel Data Center GPU Max Series (previously called Ponte Vecchio). Here is an example: Simple example: SYCL matrix multiply microbenchmark (Click for interactive SVG.) The green frames are the actual instructions running on the AI or GPU accelerator, aqua shows the source code for these functions, and red (C), yellow (C++), and orange (kernel) show the CPU code paths that initiated these AI/GPU programs. The gray "-" frames just help highlight the boundary between CPU and AI/GPU code. The x-axis is proportional to cost, so you look for the widest things and find ways to reduce them. Layers This flame graph shows a simple program for SYCL (a high-level C++ language for accelerators) that tests three implementations of matrix multiply, running them with the same input workload. The flame graph is dominated by the slowest implementation, multiply_basic(), which doesn't use any optimizations and consumes at 72% of stall samples and is shown as the widest tower. On the right are two thin towers for multiply_local_access() at 21% which replaces the accessor with a local variable, and multiply_local_access_and_tiling() at 6% which also adds matrix tiling. The towers are getting smaller as optimizations are added. This flame graph profiler is a prototype based on Intel EU stall profiling for hardware profiling and eBPF for software instrumentation. It's designed to be easy and low-overhead, just like a CPU profiler. You should be able to generate a flame gr