[HN Gopher] Free MIT Course: Performance Engineering of Software...
___________________________________________________________________
Free MIT Course: Performance Engineering of Software Systems
Author : danielovichdk
Score : 139 points
Date : 2024-01-10 19:39 UTC (3 hours ago)
(HTM) web link (ocw.mit.edu)
(TXT) w3m dump (ocw.mit.edu)
| rashkov wrote:
| Another good course with exercises:
| https://github.com/dendibakh/perf-ninja
| explaininjs wrote:
| I TA'd this course this semester (Fall 2018 - wow the time
| flies), happy to answer questions.
|
| (Though I'm currently backpacking through the Andes so you may
| need to be patient)
| dmlittle wrote:
| Thank you for TA'ing the class! I took it in 2015 and TAs
| really made the class for myself and most of my friends.
|
| Is the end of semester Leisserchess competition still going? I
| believe I heard that the year you TA'd it (might have been a
| year before or after) a group finally compiled an opening
| playbook and beat everyone in the class
| lagniappe wrote:
| I don't have any questions but do wish you well on your journey
| through the Andes :) Signing up for the course for fun, thanks!
| flyer_go wrote:
| Do you have code for the course?
| jstanley wrote:
| The course looks really interesting, but in my experience of
| "performance engineering" you very rarely need to know this
| stuff.
|
| If you want to improve the performance of some random software
| system you encounter at work, there is normally much lower-
| hanging fruit available.
|
| First profile the application on as representative a workload as
| possible. Then fix the accidentally-quadratic loops, stop it from
| hitting the disk every iteration, add indexes for the worst
| database queries. If that doesn't at _least_ double your
| throughput, you are working on an unusually-good application.
| dennis_moore wrote:
| I think that the term "software system" can have a much broader
| meaning than the one you are using here.
| jstanley wrote:
| For sure. I suppose the unspoken step is "work out which
| component is the bottleneck".
|
| If you're lucky then it's CPU bound and everything runs on
| the same box and you can just look in htop.
| a1o wrote:
| > there is normally much lower-hanging fruit
|
| Yeap, usually it's more about properly profiling your
| application on the CPU and memory dimensions, occasionally
| instrumenting if necessary, experimenting different
| measurements and tools to have a good picture of your software
| bottlenecks and where there are gains.
|
| Knowing the full picture and where the issues are you can then
| proceed to these specifics of optimizing your code for
| performance in these spots, or using a specific library that
| solves better that problem or what is usually an approach that
| gives better gain, rethinking knowing the limitations and
| finding a better design for the problem that part of the code
| is trying to solve.
| cozzyd wrote:
| it really depends on what you work on...
| f1shy wrote:
| This is pretty much stated in the course. Basically is rare
| that you need it. But when you need it, is good to know.
| oooyay wrote:
| More than good to know, sometimes knowing the thresholds of
| the nuts and bolts is the difference between tuning and
| rewrite it in a different language or more complex
| architecture.
___________________________________________________________________
(page generated 2024-01-10 23:00 UTC)