├── CONTRIBUTING.md
└── README.md
/CONTRIBUTING.md:
--------------------------------------------------------------------------------
1 | ### Contributing
2 |
3 | Inspired by
4 | [M. McGrana's Services engineering reading list](https://github.com/mmcgrana/services-engineering)
5 | This reading list tries to aggregate a curated list of performance
6 | engineering articles of high quality content. One goal of this reading
7 | list is to make a distinction between theory/methodology and systems/tools/frameworks in
8 | performance engineering.
9 |
10 | Suggestions are welcome to this reading list.
11 |
12 | In the [issues](https://github.com/meteorfox/performance-engineering/issues)
13 | for this repository we track specific suggestions for additions and
14 | topics that we'd like to cover but don't have good resources for yet.
15 |
16 | Please make your own suggestions by opening an issue or commenting
17 | on an existing one. Please prefer issues to pull requests and one
18 | issue for each suggested resource.
19 |
20 | Note that the list only includes material that's been read
21 | personally by the editor, so some suggestions may have a long
22 | turnaround time, especially books and conferences.
23 |
24 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | ## Performance Engineering Reading List
2 |
3 | A reading/viewing list about the theory and practice of performance engineering with
4 | a focus on distributed web services and applications.
5 |
6 | [Suggestions](CONTRIBUTING.md) are welcome.
7 |
8 | Inspired by
9 | [M. McGranaghan services engineering reading list](https://github.com/mmcgrana/services-engineering).
10 |
11 | #### Table of Contents
12 | * [Theory and methodology](#theory)
13 | * [Systems, Platforms, Frameworks and Tools](#tools)
14 |
15 |
16 |
17 |
18 | ### Theory and methodology
19 |
20 | #### Papers
21 | * [Rigorous Benchmarking in Reasonable Time](https://www.researchgate.net/publication/257193308_Rigorous_Benchmarking_in_Reasonable_Time/link/546df6ff0cf29806ec2e638e/download)
22 | * [CPI2: CPU performance isolation for shared compute clusters](http://static.googleusercontent.com/media/research.google.com/en/us/pubs/archive/40737.pdf)
23 | * [The Tail at Scale](http://cacm.acm.org/magazines/2013/2/160173-the-tail-at-scale/abstract) (J. Dean)
24 | * [Open vs Closed Systems: A Cautionary Tale](http://users.cms.caltech.edu/~adamw/papers/openvsclosed.pdf)
25 |
26 | #### Presentations
27 | * [Understanding Latency](https://www.youtube.com/watch?v=9MKY4KypBzg) (G. Tene)
28 | * [Top 10 - Performance Folklore](http://www.infoq.com/presentations/top-10-performance-myths) (M. Thompson)
29 | * [Mechanical Sympathy](http://www.infoq.com/presentations/mechanical-sympathy) (M. Thompson)
30 | * [Practicing at the Cutting Edge: Learning and Unlearning about Performance](http://www.infoq.com/presentations/java-performance) (M. Thompson)
31 | * [Benchmarking: You're Doing It Wrong](https://www.youtube.com/watch?v=XmImGiVuJno)
32 | * [The Tail at Scale: Achieving Rapid Response Times in Large Online Services](https://www.youtube.com/watch?v=C_PxVdQmfpk) (J. Dean)
33 | * [Scalability Lessons from eBay, Google, and Real-time Games](http://www.infoq.com/presentations/scalability-ebay-google-kixeye)
34 |
35 | #### Posts
36 | * [How Not to Measure Computer System Performance](https://homes.cs.washington.edu/~bornholt/post/performance-evaluation.html)
37 | * [Bentley's Rules](http://www.new-npac.org/projects/cdroms/cewes-1999-06-vol1/nhse/hpccsurvey/orgs/sgi/bentley.html)
38 | * [Compilers Love Messing With Benchmarks](http://www.brendangregg.com/blog/2014-05-02/compilers-love-messing-with-benchmarks.html) (B. Gregg)
39 | * [The USE Method](http://www.brendangregg.com/usemethod.html)
40 | * [13 Benchmarking Sins](http://www.computerworld.com/article/2486830/computer-hardware/13-benchmarking-sins.html) (B. Gregg)
41 |
42 | #### Books
43 | * [Systems Performance: Enterprise and the Cloud](http://www.amazon.com/Systems-Performance-Enterprise-Brendan-Gregg/dp/0133390098) (B. Gregg)
44 |
45 | #### Courses and Classwork
46 | * [MIT 6.172 - Performance Engineering of Software Systems](https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-172-performance-engineering-of-software-systems-fall-2018/)
47 |
48 | ---
49 |
50 |
51 | ### Systems, Platforms, Frameworks and Tools
52 |
53 | #### Papers
54 | * [Google-Wide Profiling](http://static.googleusercontent.com/media/research.google.com/en/us/pubs/archive/36575.pdf)
55 |
56 | #### Presentations
57 | * [JVM Mechanics](http://www.infoq.com/presentations/JVM-Mechanics) (G. Tene)
58 | * [Performance Testing Java Applications](http://www.infoq.com/presentations/performance-testing-java) (M. Thompson)
59 | * [Linux Performance Tools 2014](http://www.brendangregg.com/blog/2014-11-22/linux-perf-tools-2014.html) (B. Gregg)
60 |
61 | #### Posts and Tutorials
62 | * [Java GC Distilled](http://mechanical-sympathy.blogspot.com/2013/07/java-garbage-collection-distilled.html) (M. Thompson)
63 | * [CPU Cache Flush Fallacy](http://mechanical-sympathy.blogspot.com/2013/02/cpu-cache-flushing-fallacy.html) (M. Thompson)
64 | * [Linux perf](http://www.brendangregg.com/perf.html) (B. Gregg)
65 | * [ftrace: The hidden light switch](http://lwn.net/Articles/608497/) (B. Gregg)
66 |
67 | #### Books
68 | * [Java Performance](http://www.amazon.com/Java-Performance-Charlie-Hunt/dp/0137142528)
69 |
70 | #### Courses
71 |
72 | #### Repos
73 | * [PerfKitBenchmarker](https://github.com/GoogleCloudPlatform/PerfKitBenchmarker) (Google et. al.)
74 |
--------------------------------------------------------------------------------