Performance optimization: how do I go about it?
summary
Covers concrete tools and outcomes: Xdebug and XHProf for profiling, QCacheGrind to inspect call maps, PHP meminfo to dump heap contents, and the new-ish pspy for low-overhead production sampling; warns that APMs (Blackfire Datadog New Relic) are paid but useful. Demonstrates a real case where an inefficient array_map with a bogus Pi calculator makes a run go 3 seconds to 1 second after removal, shows Xdebug is too slow for prod, and finds a parser object retained by globals causing a leak; fixes actually reduce memory and latency.
AI-written summary · about
chapters (25)
- 0:00Start
- 0:46Planning
- 1:45Why We Should Care about Performance
- 4:58Execution Time and Memory Usage
- 8:56Time Outs
- 11:52Micro Optimizations
- 12:49Php Benchmarks
- 13:57Tools
- 14:13Monitoring Tools
- 14:57Load Testing and Benchmarking Tools
- 17:38How Does the Tooling Landscape Look in Php
- 18:26How You Install Extensions in Php
- 21:29Diagnostics
- 23:07Capture the Baseline
- 23:21Set Up Exit Proof
- 26:14The Cali Map
- 27:03Debugging Closures
- 33:12How Do You Check if Your Program Is Not Leaking Memory
- 34:15Reproduce a Memory Leak in Php 7
- 37:04A Memory Leak
- 38:41Cold Thin Graphs
- 39:27Flame Graphs
- 40:50Stack Traces
- 41:58Flame Graph Generation Algorithm
- 46:25Key Takeaways
related talks
52mPerformance optimisation: how do I go about it?
47mPerformance optimisation: how do I go about it?
39mPHP Performance Demystified - Measure, Understand, Optimise
35mPHP: Performance and application development — what we diagnosed
01h 12m25 Years of PHP
27mGetting Started with Profiling Laravel Code
39mProfiling and Benchmarking 101
01h 03mMaximising Performance With Zend Framework
