Using telemetry to reveal, prevent, and act on real problems in the wild

I hesitate to bring this up but there’s no sense hiding it.  For the last year I’ve been the development lead for the Internet Explorer Performance Team.  We’ve done some really cool things I’m super proud of.  Like recently this gem.  However, things are usually not so rosy in my world.  There are lots of…

0

Career advice part 2

I wrote some career advice a few weeks ago now, those few points are largely distilled from talks I’ve given here at Microsoft over the years and those are in turn distilled from the various mentoring sessions I’ve given over the course of my career. There are two memes in particular that I like to…

0

Non-Properties of floating point numbers

I recently received a customer question that boiled down to the oft-encountered binary floating point inexact representation issue.  They were rather troubled that basic identities normal to numbers did not apply to floating point arithmetic.  Learning that floating point is kind of messed up is kind of like finding out there is no Santa Claus. …

13

Career advice for anyone who cares to listen :)

At the Grace Hopper Celebration of Women in Computing there are many attendees offering and looking for good advice.  Dear friends among them.  I read some, “inarticulate” responses earlier today and they prompted me to think of what advice I might offer.  As I considered this I found myself thinking the same thoughts I always…

8

Performance Quiz #14: Memory Locality etc. Bonus Round!

[Note: I accidently pasted an x64 result in place of an x86 result. As it happens the point I was trying to make was that they were very similar, which they are, but they aren’t identical… corrected.] Thanks to some careful readers I discovered why the shuffling factors discussed in my previous blog entry were…

2

Performance Quiz #14: Memory Locality, x64 vs. x86, Alignment, and Density

[ Note: Mystery of the shuffling is solved, the rand() method I was using returns only numbers between 0 and 32k, so shuffling was ineffective in large array sizes.  I will post an update.  Thank you Ryan! See the new entry for the updated results. ]   It’s been a very long time since I did…

9

Wow I love git-tf!

I switched to git about 3 years ago because the portability was so great.  Moving work between computers couldn’t be easier.  But when I did that I lost all my TFS history from TFS express I had been using up until then.  4 years of useful history. Last week I saw this git-tf thing so…

2

You don’t have to write it (all) first…

It seems like I get pretty much the same questions all the time.  A common one is, “Rico can you tell me if it would be ok for me to use <technology> to solve this <problem>?  How much does <technology> cost anyway?” The answer is (nearly) always the same: “How the hell should I know?”…

0

To preload or not to preload…

Q: My application starts slowly, I want to preload it to avoid that problem.   Should I be worried? A: Well, in short, there are lots of concerns.  Preloading things you may or may not need is a great way to waste a ton of memory and generally make the system less usable overall. I’m often…

0

On adopting high end perf tools to study micro-architectural phenomena

Huge words of caution: you can bury yourself in this kind of stuff forever and for my money it is rarely the way to go.  It’s helpful to know where you stand on CPI for instance but it’s much more typical to get results by observing that you (e.g.) have a ton of cache misses…

1