Designing for Performance

  • 12/12/2003
  • Think carefully about the goals of your project,
  • Include performance goals among them
  • Use those goals to create budgets for each project area
  • Design up front in such a way that you have a good expectation of meeting those goals
  • Do early homework researching the cost of services you intend to use to form the basis of those conclusions
  • Build prototypes to verify costs if necessary
  • Do not over-research, use the planning phase to manage project risk to the right level for your project
  • Measure your progress against those goals regularly and make corrections as needed
  • Build in some time for course corrections into your schedule
  • Do not be afraid to cancel things that are clearly not going to work — better to cut your losses to give you time to build something that will work
  • Do not confuse a design that duly considers performance up-front with “premature optimization”
  • Do not “write it the easiest way first and make it fast later” because sometimes the easiest way simply can’t be made to go fast
  • Do not blindly ignore these rules and expect to get good performance in your projects automatically
  • Do ignore each and every one of my suggestions when you have a thoughtful reason to do so

--

--

--

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

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

4 Real-World Scenarios That Read Like Chaos Engineering Experiments

lab table with beakers and bottles around it, with large flames that a man and woman are attempting to blow out

Why We Replaced Our Kafka Connector with a Kafka Consumer

Getting Your First Software Job Without Professional Experience

How I’m Improving My Forecasting Skills for Software Projects

Dependency Management Techniques: Part II

Improving Platform Channel Performance in Flutter

IAM whatever you say IAM

Modeling One to Many in XDM on Adobe Experience Platform

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
Rico Mariani

Rico Mariani

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

More from Medium

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

Open Source Contributions @Phorest

Corda state reissuance: Break long transaction chain to improve performance and privacy

3 Cognitive Biases and How We Overcome Them at Trendyol