Ask HN: Is it safe to (temporarily) ignore efficiency in your product?
As a university-trained, big-company-bred, C-was-my-first-language, I-think-about-data-structures-and-algorithm-in-the-shower engineer, I've always built everything I did with a very specific thought in the back of my head: "Is this solution efficient?"
However, as I've started getting more and more into developing web services in my spare time, I find myself struggling not with a mandate for speed, but rather with the sheer complexity of the system I'm trying to implement. Web applications are complicated beasts; there's a lot going on that you need to fit in your head all at once, and thinking about efficiency only makes it worse.
Therefore I ask you: How much "fuck it, I'll use off-the-shelf components" and "fuck it, it'll run in linear time" can I get away with for the sake of pushing something out there? Does the quality of modern frameworks and hardware grant me a certain amount of slack for free?
tl;dr
I have never deployed or supported an entire user-facing web application. Can you please give me an idea of the sort of load you can handle with a typical application framework and a typical hardware deployment? Bonus points for numbers like requests per second or concurrent connections. I'd really love to know how many requests you serve with how many machines.
Edit: I anticipate the "Why worry about performance when you don't have users?" response, and I thank you in advance. However, the last thing I want to happen is to gain users, only to discover that my potentially popular application is crippled by its being too slow and my being too busy to fix it.