I have been postponing blogging for a while now, but I would like to start 2012 on the right foot, so here goes :)

I’m Vladan, a new-ish member of Mozilla’s Performance team, having started back in October 2011. I did my schooling at the University of Waterloo (undergrad) and University of Toronto (grad) and worked on a foreign exchange retail trading platform before joining Mozilla.

So far I’ve had the opportunity to work on a couple of interesting performance projects. My first major bug was to extend Telemetry performance reporting to report slow SQL statements (bug 699051). As a privacy precaution, Telemetry will only record the strings of prepared SQL statements executed against known Firefox DBs. So, for example, query arguments will never be recorded and neither will any SQL executed against extension-specific DBs.

For the time being, only Firefox Nightlies have the new slow SQL instrumentation. You can examine the data gathered by Telemetry by installing the (restartless!) about:telemetry extension and then navigating to the the “about:telemetry” URL. If any SQL statements in your browser needed more than 100ms to execute, you will see tables looking something like this:

Slow SQL Statements on Main Thread
Hits Avg. Time (ms) Statement
1 109 UPDATE moz_bookmarks SET lastModified = :date WHERE id = :item_id

Slow SQL Statements on Other Threads
Hits Avg. Time (ms) Statement
3 135 DELETE FROM moz_classifier WHERE table_id=?1 AND chunk_id=?2

In addition to work on SQLite performance, I am also currently working on a few other tasks such as reporting main thread hangs (bug 712109) and helping speed up Firefox shutdown (bugs 684513, 662444). I will try to blog about some of this work next week.