<- Back to laws

Software-performance aphorism

Wirth's Law

Software can become slower and more resource-hungry faster than hardware becomes faster, erasing gains users expected from improved machines.

Scientific statusEngineering heuristic
Predictive formCompeting growth trends
DomainSoftware performance
EvidenceHistorical observation + benchmarks
Key limitationWorkloads and capabilities change
Common misuseNew software is always worse
INTERACTIVE MODEL

experienced performance depends on hardware capacity / software demand

This is not a physical law or fixed growth rate. New software may perform more work, improve safety, or support broader platforms, so comparisons need a defined workload.

A fixed user task races on two generations while instrumentation separates useful work, abstraction overhead, and background demand.

50.0Retained hardware gain
(%)
0 index100 index
HARDWARE / SOFTWARE RACERaw speed rises while software demand can consume the gain.
Interactive visual model for Wirth's Law.
VISIBLE PHASESTARTINGTAKEAWAYWATCH ONE FULL CYCLE

The animation runs automatically, pauses on the conclusion, and then repeats. The main control changes the scenario rather than scrubbing the timeline.

CHANGE
Software demand growth
WATCH
effective speed
MEANING
A fixed user task races on two generations while instrumentation separates useful work, abstraction overhead, and background demand.
VISUAL MODEL

Faster hardware does not guarantee a faster experience.

Two progress lanes compare hardware throughput with the expanding work required to complete the same defined task.

hardware gainsoftware demandexperienced latency
01 / MEANING

What it actually says

The aphorism draws attention to system-level performance: hardware capacity, algorithms, dependencies, user-interface layers, data volume, and background services all shape elapsed time.

A fair test freezes the user goal and reports latency, energy, memory, and capability. Raw binary size or one microbenchmark cannot establish the whole claim.

Compact formexperienced performance depends on hardware capacity / software demand
Best interpretationSoftware performance evidence in software engineering.
Important cautionWorkloads and capabilities change.
"A useful law compresses a pattern. It does not erase the conditions that make the pattern true."
02 / ORIGIN

How the idea developed

The modern form emerged through observation, argument, and later refinement. The timeline separates the first insight from the version now used in textbooks and practice.[1]

19951995

Niklaus Wirth publishes A Plea for Lean Software.

2000s2000s

Web and mobile stacks make end-to-end performance more visible.

TodayToday

Performance budgets and core web vitals operationalize user-centered constraints.

Historical cautionEponymous laws often change after their first publication. Popular wording may be broader and cleaner than the original evidence.
03 / MECHANISM

How the pattern works

The relation becomes useful only when its mechanism, measurement process, and operating range are visible.

01Feature accumulation

More code paths and background work consume capacity.

02Abstraction overhead

Generality adds layers and indirection.

03Data expansion

Higher fidelity and larger datasets increase work.

MODELexperienced performance depends on hardware capacity / software demand

This is not a physical law or fixed growth rate. New software may perform more work, improve safety, or support broader platforms, so comparisons need a defined workload.

04 / APPLICATIONS

Where it earns its keep

Applications are strongest when the law changes a decision, measurement, model, or experiment rather than merely providing an analogy.

ENGINEERING

Set a performance budget

Application

Tie latency and memory to a defined user task.

PROFESSIONAL NOTE

Test on representative hardware.

PRODUCT

Price capability honestly

Application

Some overhead buys security, accessibility, or functionality.

PROFESSIONAL NOTE

Show the trade-off.

05 / LIMITS & MISUSE

Where it stops working

Hardware and software coevolve, workloads change, and algorithmic improvements can dominate both trends.

Misuse

"Every update is bloat"

Better: Capability, safety, and platform coverage may have changed.
Misuse

"Low-level code is always faster overall"

Better: Architecture, algorithms, and I/O often dominate.
07 / REFERENCES

Sources and further reading

Original publications and serious secondary scholarship are prioritized over summaries.

  1. Wirth - A Plea for Lean SoftwarePrimary 1995 essay.https://doi.org/10.1109/2.348001
  2. ACM Queue - Performance MattersEnd-to-end software performance perspective.https://queue.acm.org/detail.cfm?id=1563874
  3. web.dev - Performance Budgets 101Operational performance-budget guidance.https://web.dev/articles/performance-budgets-101
CONTINUE EXPLORING

Related laws, with the relationship made explicit.

These are editorial connections, not claims that the laws are mathematically equivalent.

CONTINUE READING

Place this law inside the collection.

LAW 092 / 100 PUBLISHED