[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)