We are fanatical about performance - everything boils down to that. Every day we look for ways to improve.
- Can we not run a query here?
- Can we consolidate queries?
- Can we extend this index to cover 20% more cases?
- Can we denormalize this data to eliminate a join?
- Can we stick this in redis?
- Should we stick this in redis?
- Should we aggregate this into a central DB?
- Can we eliminate this API call?
- Is JSON right here?
- How about Protobuf?
- Can we not do an allocation here?
- Can we completely change how this is cached and accessed?
- Is this hit often enough to rewrite it in IL?
- How about we just replace the ORM?
...these are daily questions around here. It's a culture thing, and we love it.
Edit: I am preparing an architecture overview for our upcoming Velocity talk in October, we'll be sure to share it when done - for those that are curious.