Author Archives: brucedawson

About brucedawson

I'm a programmer, working for Google, focusing on optimization and reliability. Nothing's more fun than making code run 10x faster. Unless it's eliminating large numbers of bugs. I also unicycle. And play (ice) hockey. And juggle.

Delete an inline function, save 794 kB

In the previous episode of “Simple Changes to Shrink Chrome” I discussed how deleting ‘const’ from a few key locations could lead to dramatic size savings, due to a VC++ compiler quirk. In this episode I’ll show how deleting an … Continue reading

Posted in Performance, Programming, Visual Studio | Tagged , , | 1 Comment

Add a const here, delete a const there…

I just completed a series of changes that shrunk the Chrome browser’s on-disk size on Windows by over a megabyte, moved about 500 KB of data from its read/write data segments to its read-only data segments, and reduced its private … Continue reading

Posted in Performance, Programming, Visual Studio | Tagged , , | 27 Comments

Seattle to Portland on a Unicycle

This was originally written in the summer of 2005. I’m reposting it here to get all my writing in one place. For more information on long-distance and high-speed unicycling go to the unicycle section of my blog, available here. The … Continue reading

Posted in Unicycling | Tagged , , , | 1 Comment

VC++ /arch:AVX option – unsafe at any speed

Microsoft’s VC++ compiler has an option to generate instructions for new instruction sets such as AVX and AVX2, which can lead to more efficient code when running on compatible CPUs. So, an obvious tactic is to compile critical math-heavy functions … Continue reading

Posted in Programming, Visual Studio | Tagged , , , , | 30 Comments

CPU Performance Counters on Windows

TL;DR – I can finally record CPU performance counters for processes on Windows. I’m mostly a Windows developer but I’ll occasionally fire up my Linux box to use the perf tool to examine CPU performance counters. Sometimes you really need … Continue reading

Posted in xperf | Tagged , , | 4 Comments

WPA Symbol Loading is Much Faster, but Broken for Chrome

There’s good news, and there’s bad news. The good news is that the latest Windows Performance Analyzer (WPA), the visualization tool for ETW (Event Tracing for Windows) traces, can now load symbols faster than ever before – it’s multi-threaded, and … Continue reading

Posted in uiforetw | Tagged , , , | 4 Comments

Vestibular Dysfunction, or, How I Went Half Deaf

Two weeks ago I had a severe inner-ear episode, presumed to be an infection. One moment I was 100% healthy and then, ten minutes later, I was deaf in one ear, with severe vertigo. The word ‘vertigo’ doesn’t quite capture … Continue reading

Posted in Fun, Unicycling | Tagged , , | 15 Comments