These Performance Tips of the Week form a sort of “Effective analysis and optimization of production performance and resource usage”: a gallery of “do”s and “don’t”s gathered from the hard-learned lessons of optimizing performance of production systems running on machines in Google data centers.
This set of tips started as an internal series at Google and it has been hugely popular, with thousands of monthly readers and dozens of episodes published. We are making some of these episodes available to a wider external audience as they discuss topics that are common to the industry. We publish this content to help spread knowledge in this area of production optimization and profiling which we feel is as important as ever. We hope you find these tips valuable and welcome your feedback.
Note: the numbering of the published episodes is sparse: we retain the
original numbering of the episodes to make it easier for their authors to
refer to them and keep track of them. We also use short alias “fast” to
name the series where appropriate - this also reuses the naming convention
we use internally: it’s very common to see people referring to the episodes
as “fast/55” or “fast/23” in code discussions, bugs and other publications.
The numbering gaps will get filled as we publish more episodes.
Some tips may include historical information that, though accurate, may reflect philosophy and/or usage at the time the tip was originally written. In most cases, we have updated that information to reflect current practices, and note exceptions that are historical, where applicable.
Because these tips are being published out of original order, we’ve listed them below in the order of re-publication.
Performance Tip of the Week #21: Improving the efficiency of your regular expressions
Performance Tip of the Week #39: Beware microbenchmarks bearing gifts
Performance Tip of the Week #53: Precise C++ benchmark measurements with Hardware Performance Counters
Performance Tip of the Week #9: Optimizations past their prime