Chapter 50. The Ramp

In Debra’s story, the clerk said that he was throwing away reams of paper every day. A ream is a pack of 500 sheets. Surely he was exaggerating, right?

Well, let’s figure it out. Debra told me that the company was creating about 1,000 new invoices per weekday and that they could list 66 invoices per page on the invoice report. That means there were about 16 new pages’ worth of invoices being created every day. With the “Increment date on each run” box unchecked, the invoice listing report had been growing about 16 sheets thicker every day:

Day Sheets printed
(n) (16 n)
1 16
2 32
3 48
128 2,048
129 2,064
130 2,080

On the day before Debra’s six-month checkup visit (about 130 weekdays after going live), the clerk would have thrown away over 2,000 sheets of paper. That’s more than four full 500-sheet reams discarded in just one day. The clerk was not exaggerating.

This performance antipattern, where experiences gradually worsen over time, is called the ramp.1

Image

As annoying as the ramp is, the gradual processing duration creep isn’t the worst of it. Over time, the cumulative resource consumption becomes the much bigger issue:

  Sheets used
Day one day to-date
(n) (16 n) (16 n(n + 1)/2)
1 16 16
2 32 48
3 48 96
130 2,080 136,240

It adds up fast. After six months of creating 16 pages’ worth of new invoices ...

Get How to Make Things Faster now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.