Knowledgebase

Computer Architecture and Systems: Everything That Matters, Briefly Print

  • specialisedtechnology, specialised, performance, caching, errors, troubleshooting, guide, howto
  • 0

The summary.

REAL PERFORMANCE IS DETERMINED BY THE MEMORY HIERARCHY

Sequential access uses every fetched cache line; random access wastes most of each. The difference is frequently an order of magnitude.

False sharing destroys performance with no apparent cause — threads writing different variables on one cache line.

SYSTEM CALLS ARE NOT FREE

Many small calls are slower than fewer large ones, because each crosses a privilege boundary.

DRIVERS CAUSE DISPROPORTIONATE FAULTS BECAUSE THEY RUN WITH FULL PRIVILEGE

DEVELOP OPERATING SYSTEMS IN AN EMULATOR

Debugging on real hardware without one is close to impossible — faults reset the machine with no message.

MOST PRODUCTION COMPILERS USE HAND-WRITTEN PARSERS

For better error messages. And register allocation has among the largest effects on generated code quality.

GENERATIONAL COLLECTION WORKS BECAUSE MOST OBJECTS DIE YOUNG

Measure pause times, not only throughput.

ADDRESS ALGORITHMIC COMPLEXITY FIRST, MEMORY SECOND, INSTRUCTIONS LAST

No amount of micro-optimisation fixes a poor algorithm.


Was this answer helpful?
Back

Are you happy with your experience? Leave us a review on Trustpilot.


Trustpilot