Making Firefox faster – see what happens inside!

Mozilla puts a lot of effort to make Firefox faster and smoother.  There is a lot of work made to find and optimize places of the code.  However, I can see that sometimes developers are a bit guessing what to actually fix.  I’m also part of this effort, so I decided to create a tool that would help with performance optimizations – a visualizer of all internal operations.

Profilers are nice but cannot always tell you well why UI of your app has been stuck for 2 seconds without an obvious reason.

In software so complex as Mozilla Platform and Firefox are a traditional profiler may not be able to help at all.  Lot of events are being cross-posted between event queues and a lot of operations are asynchronous – i.e. w/o an immediate result.  To find out what is actually slow is then hard.

My tool, on the other hand, can show you a pretty timeline with all events that have happened during Firefox run, what allows you to see where Firefox waits for a result too long … and also why.

All the work is tracked in Mozilla bug 729182.

Click the screen shot to open the visualization tool real-time example.

mozilla visual profiler

(The example log is a load of edition.cnn.com web site)