4 ms·
One of the most interesting things about the emphasis on algorithms in both CS education and in tech interviews to me is that when you start to look at how peop
by nickysielicki 5y ago
One of the most interesting things about the emphasis on algorithms in both CS education and in tech interviews to me is that when you start to look at how people really make high performance software, it rarely comes down to figuring out how to jump from O(n) to O(logn), more often than not it has to do with thinking about memory locality and caching or avoiding branches or fitting the problem into something can be vectorized. Picking the correct algorithm with minimal algorithmic complexity tends to be the easy part. But outside of roles where performance actually matters, you’re probably not going to get asked about these things. And that’s totally reasonable, but why do we ask people about algorithms, then?
- _3u10 5y agoI totally agree. I haven’t actually needed to use Boyer Moore in like 15 years. On another project I got around a 10x speed up by reusing a buffer rather than allocating a new buffer. Cache locality makes a lot more difference than people give it credit for.