This is a flame graph:
Turn it upside down, and you get an icicle graph:
This means the flame graph view in the Firefox and Chrome profilers is actually an icicle graph view. Who knew?
I learned this tidbit of trivia when I was trying to figure out whether it’s practical to implement a flame graph in the browser using SVG.
Turns out SVG gets too slow if you have a few thousand elements on the screen. You probably want to use
<canvas> if you need to visualize a ton of data at once. For this reason, both Firefox and Chrome use
<canvas> for their flame graph views. Here is Firefox’s implementation, and here is Chrome’s.
Note: I originally posted this article on a personal blog I ran when I was in my late teens and early twenties. I discovered in May 2020 that the Internet Archive had preserved the contents of that blog in its entirety, including some of the media. That blog was an important part of my personal history, so I reposted all of that content on this website for archival purposes. While my politics, opinions, and outlook on the world have changed radically since I wrote those posts between 2009 and 2011, it’s good to know that I was as much of an idiot then as I am now.
Update (March 27): It failed. It’s gone now.
From the site: [Uncool’s Code Dojo] is a database of short, fun programming tasks that can be solved in under a week’s time.
Here’s a problem – I’ve just learned this new do-all-end-all-super-mofo programming language but I don’t know what to do with it. The Code Dojo is my contribution to bored programmers everywhere who share the same feeling.
Visit the Dojo at http://dojo.uncool.in