Performance Personae Cheat Sheet

[I decided this would be better if I pulled it out into its own thing: Click for the full article]

Code Persona: Inner Loop

  • CPU factors dominate cost

Key metrics:

  • path length — cycles per iteration

Code Persona: Startup

  • Processor frequently not at a premium even though time is a key metric

Key metrics:

  • working set information

Code Persona: Throughput

  • steady state GC usage mode

Key metrics:

  • throughput of the activity

Code Persona: Interactive

  • only small perturbations to objects to allow for brisk editing with limited/no collections

Key Metrics:

  • processor utilization (going for low utilization)

Data Persona: High Volume

  • per object overhead plays a significant role volume may contribute to overall GC pressure

Key Metrics:

  • size per object

Data Persona: Document

  • highlighted by significant size and durability of the document as well as value of the data

Key Metrics:

  • Size to represent typical documents

Data Persona: Cache

  • cache policy is the key decision — what to keep what to discard

Key Metrics:

  • Typical cache sizes (representative cases)

Written by

I’m a software engineer at Facebook; I specialize in software performance engineering and programming tools generally. I survived Microsoft from 1988 to 2017.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store