Performance

About

Performance has two dimensions (two metrics):

Performance is a feature.

It can sometimes difficult to talk about performance when one technique improves throughput but decreases response time.

Which has the best performance ?

Vehicle Time to Paris Speed Passengers Throughput (pk/h)
Ferrari 2 hours 250 km/h 2 500
Greyhound 5 hours 100 km/h 60 6000

This two metrics are a subset of Service Level Indicator metrics.

“Time to do the task” versus “Task par unit of time”

Vehicle Vehicle Ferrari Greyhound
Speed 160 mph 65 mph
Time to Bay Area 3.1 hours 7.7 hours
Passengers 2 60
Throughput (pm/h) 320 3900
  • Time is measured in time units/job.
  • Throughput is measured in jobs/time unit.

Then <MATH>\text{time} = \frac{1}{\text{throughput}}</MATH>

The formula is only valid for one job at a time, It takes 4 months to grow a tomato. Can you only grow 3 tomatoes a year ??

Rule

Minimize

The bucket list of performance gains:

  • don’t do it
  • do it only once
  • do it less often
  • do it more efficiently

Performance is a funny thing. You can't make computers faster, you can only make them:

  • do less wasted work
  • or spend less time waiting.

Example

A data system may drop some data of a query in order to be able to calculate results in a reasonable time using a reasonable amount of computing resources

Quote

Within performance issues, encoding/decoding is often the most significant cost.

Documentation / Reference

Task Runner