News for hackers. Stuff that matters.
Re:Efficient music players remain elusive by omginternets on Monday June 26, 2017 @06:08AM (#14635515)
>get over your complex

It's not a complex. I'm always very surprised by this attitude. Theory serves practice.

Case and point: the OP mentions that an understanding of cache architecture enables you to reason about which data-structures exhibit good cache locality. Discovering that hashtables have poor cache locality by trial-and-error seems like a waste of time compared to gaining theoretical insights.

Re:Efficient music players remain elusive by pjc50 on Monday June 26, 2017 @07:17AM (#14635832)
I'll second "Racing the Beam", although it's a history rather than a theoretical approach.

I think you may have hit a linguistic snag here; there's lots of "theory" in the classical CS sense dealing with performance from an O(n) point of view, such as Knuth's work. But for producing fast results on actual hardware you end up having to take into account lots of ugly details of the platform. Learning about cache behaviour doesn't really fit into CS so it's not the first thing people think of when you ask for theory.

"Knowledge transmitted by practitioners through written and oral culture outside of the academy": what's the word for this?

Re:Efficient music players remain elusive by bradleyjg on Monday June 26, 2017 @12:49PM (#14638190)
Part of the problem is that some of this stuff has a pretty short shelf life. There's a lot of optimization knowledge that was useful at one time but is now flat out wrong.

Oral culture is especially prone to this -- at least a blog post or a physical book has a date on it. You have no idea when the your co-worker's suggested optimization technique was developed.

Re:Efficient music players remain elusive by vinceguidry on Monday June 26, 2017 @09:23AM (#14636576)
I think 'theory' is just fine, you can't fix all communication failures by throwing moar words at it. At some point you have to make peace with the fact that not everybody uses words the same way you do.
Re:Efficient music players remain elusive by yellowapple on Monday June 26, 2017 @10:27AM (#14637045)
"what's the word for this?"

I think the word (or phrase, rather) is "tribal knowledge".

Re:Efficient music players remain elusive by posterboy on Monday June 26, 2017 @01:13PM (#14638458)
tools of the trade

* from the book

secrets of the cult

Re:Efficient music players remain elusive by TeMPOraL on Monday June 26, 2017 @10:03AM (#14636857)
I think there's a miscommunication here. By "write some efficient code" GP presumably meant the "pull" approach, in which you identify the code that's causing you performance problems and then try to make it faster, learning everything you need on the way. Rinse and repeat. It's a very efficient way to learn, and also good at teaching you those intutions that are hard to put down in writing.

That said, if anyone knows some kind of collected guide to writing efficient software, I'd be happy to learn about it, 'cause I haven't seen anything like this published.

Re:Efficient music players remain elusive by pjc50 on Monday June 26, 2017 @10:45AM (#14637168)
I suppose the legendary "PC Game Programmers Encyclopedia" counts, although it is very old: http://qzx.com/pc-gpe/

There are various analyses of Doom and Quake source around which look at the techniques used there.