Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Looking for interesting performance engineering examples for class
6 points by john_owens on Nov 23, 2021 | hide | past | favorite | 4 comments
I'm teaching a performance engineering class at UC Davis (EEC 289Q) that's based on the amazing 6.172 performance engineering class from MIT. While many instructors have taught this class, Charles Leiserson has been the principal instructor for many years, and it's been a pleasure working with him and his colleagues in bringing it to UC Davis.

Much of the class has been a little more abstract, high-level, academic and I'd like to give a lecture that has several interesting practical examples that underscore some of the ideas that were taught in class. I've gathered a number of links from Hacker News over the past few months that are possible examples of what I'd love to hear (see below). The hope is that you might be able to suggest material or links that are along the lines of an in-depth blog post, hopefully with some interesting quantitative results, that basically tells a story like "I had this performance problem; it wasn't obvious that the answer to the problem was X, but I did some digging and it turns out it was X and I addressed it by Y." Ideally, X would be related to a topic we discussed in the class, which included:

General C-level performance optimizations / bit hacks / LLVM IR / compiler optimizations / races and parallelism / anything having to do with Cilk, which we studied in depth / parallel algorithms / storage allocation / cache {efficient, oblivious} algorithms / synchronization

Here's some of the links I collected from Hacker News that I thought might be suitable for ~10-15 minutes each:

https://hackernoon.com/timsort-the-fastest-sorting-algorithm-youve-never-heard-of-36b28417f399

https://github.com/apankrat/notes/tree/master/fast-case-conversion

https://github.com/madler/crcany

https://dlang.org/blog/2020/05/14/lomutos-comeback/

https://aqjune.github.io/posts/2021-10-4.the-select-story.html

https://nee.lv/2021/02/28/How-I-cut-GTA-Online-loading-times-by-70/

I'd be much obliged for any suggestions you might have!



I'd suggest the posts / talks from Brendan Gregg, a performance expert at Netflix, that have featured on HN: https://news.ycombinator.com/from?site=brendangregg.com. Most students will likely find themselves employed working on web / cloud systems and should find the sort of topics he covers to be valuable.

Some particularly interesting ones were:

"The Speed of Time" - https://news.ycombinator.com/item?id=28662945

"Meltdown Initial Performance Regressions" - https://news.ycombinator.com/item?id=16342665

"CPU Utilization is Wrong" - https://news.ycombinator.com/item?id=14301739

"Linux Load Averages: Solving the Mystery" - https://news.ycombinator.com/item?id=14959288


I have been a fan of John Hughes (the creator of quickcheck). He has some awesome presentations of his real life testing consultant work on crazy mission critical systems. He likely has some stuff that for your criteria…

Just some quick search result papers: property testing for race conditions https://smallbone.se/papers/finding-race-conditions.pdf

Testing telcos https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.14...


ModernGPU (by Sean Baxter) had been quite helpful to me in understanding performance factors in a GPU.

The blogs are also well illustrated, some examples are

https://moderngpu.github.io/scan.html

https://moderngpu.github.io/mergesort.html

I remember using their segmented sort and reduce to build a segmented mode.


Can't go past Molly Rocket on youtube.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: