Live data from Hacker News

Ask HN: How can I learn about performance optimization?

news.ycombinator.com

1–10 of 153 posts

Re: Ask HN: How can I learn about performance optimization?

#2
There is a MIT course on YouTube and also, there is a pretty famous former M$ performance engineer who worked on Xbox and bunch of other large projects, he has webpage about how he tracks down bugs and performance issues, don't it have it handy unfortunately. Another thing to look at - low level optimization. There is a cool book, two volumes written by a German guy - I don't have a link for it either. Maybe someone who has those links can post them here. EDIT: https://www.agner.org/optimize/

Re: Ask HN: How can I learn about performance optimization?

#3
If you need to organize your thoughts on what measurements are and how at least some profiling tools work you can pick up a book or two. I would recommend for example [1]. It is a bit heavy on C++ side but you can complement it with something relevant to your job's language.

If you want one bit of advice on optimization, I can try one: follow your app architecture closely. This is where data structures that hold all of the important data live and this is what limits what is possible to achieve on performance. A lot of learning is narrowly focused to specific micro optimization techniques leaving big picture as an exercise.

1 Fedor Pikus, The Art of Writing Efficient Programs

Re: Ask HN: How can I learn about performance optimization?

#4
work with steve jobs, or someone like him.

> One of the best, if possibly exaggerated, examples of the reality distortion field comes from Jobs's biographer Isaacson. During development of the Macintosh computer in 1984, Jobs asked Larry Kenyon, an engineer, to reduce the Mac boot time by 10 seconds. When Kenyon replied that it was not possible to reduce the time, Jobs asked him, "If it would save a person's life, could you find a way to shave 10 seconds off the boot time?" Kenyon said that he could. Jobs went to a white board and pointed out that if 5 million people wasted an additional 10 seconds booting the computer, the sum time of all users would be equivalent to 100 human lifetimes every year. A few weeks later Kenyon returned with rewritten code that booted 28 seconds faster than before.

https://en.m.wikipedia.org/wiki/Reality_distortion_field

Re: Ask HN: How can I learn about performance optimization?

#5
> This is an area that is new to me, but a big part of my new job.

Can you tell me more about what your new job is, without releasing anything sensitive?

If you are running applications on Linux containers in the cloud, then I would recommend Brendan Gregg's blog and books (https://www.brendangregg.com/overview.html). He does a lot of knowledge sharing from his experiences at Netflix.

Re: Ask HN: How can I learn about performance optimization?

#7
Denis Bakhvalov has some great resources for this:

1. His free course: https://products.easyperf.net/perf-ninja

2. His free book: https://book.easyperf.net/perf_book (the 2nd edition is being worked on right now and there's a draft on github: https://github.com/dendibakh/perf-book)

Re: Ask HN: How can I learn about performance optimization?

#9
post #4

work with steve jobs, or someone like him. > One of the best, if possibly exaggerated, examples of the reality distortion field comes from Jobs's biographer Isaacson. During development of the Macintosh computer in 1984, Jobs asked Larry Kenyon, an engineer, to reduce the Mac boot time by 10 seconds. When Kenyon replied that it was not possible to reduce the time, Jobs asked him, "If it would save a person's life, co…

Clever. Imagine how many lives are wasted by online ads with this reasoning...

Re: Ask HN: How can I learn about performance optimization?

#10
post #7

Denis Bakhvalov has some great resources for this: 1. His free course: https://products.easyperf.net/perf-ninja 2. His free book: https://book.easyperf.net/perf_book (the 2nd edition is being worked on right now and there's a draft on github: https://github.com/dendibakh/perf-book )

+1 for Denis! The book does a great job explaining both “what does it mean for a program to be optimal?” And “what do I type into my terminal to check the performance?”

Of course, it doesn’t cover every possible performance trick. For that, I’d also recommend the Intel Optimization Manual and Johnny’s Software Lab.

Post reply on HN