3 ms·
this is the correct takeaway, in my opinion. game developers must consider things that people like enterprise developers never concern themselves with, like la
by naikrovek 1y ago
this is the correct takeaway, in my opinion.
game developers must consider things that people like enterprise developers never concern themselves with, like latency and performance.
these days, at least where I work, everything is dominated by network latency. no matter what you do in your application logic, network latency will always dominate response time. with games, there is no latency unless you are writing a multiplayer server, and there are many ways to solve that, some better than others.
playing a single player factorio game, having huge factories on five planets, robots flying around doing things for you, dozens of ships flying between planets destroying asteroids and picking up the rocks they leave behind, hundreds of thousands of inserters picking up items and putting them onto or removing them from conveyor belts, and updating the status of everything in real time at 60 frames a second kinda hints at what computers can do today if you keep performance a primary concern. corporate developers never have to think about anything even approaching this.
i'm convinced that 2-4 experienced game developers could replace at least 20 traditional business software developers at any business in the US, and probably 50 enterprise software developers anywhere. They aren't 5x-10x as expensive, either. Experienced game developers simply operate on another level than most of us.
- Sohcahtoa82 1y agoFactorio is black magic fuckery as far as I'm concerned. Maybe it's because my factory hasn't gotten big enough or I'm playing a MOSTLY vanilla install, but all that's happening and the game is still only using 2% of my CPU. I can't imagine the immense size of a factory you'd need before the game started stuttering.
- naikrovek 1y agoAgreed. It’s an amazing example of just how much a computer can do in 16.6ms.
- bracketfocus 1y agoThe comment reads as ragebait or sarcasm but I actually can’t tell. I don’t want to take away from Game developers but as a “corporate developer” I can attest that a lot of what you said about us is blatantly false. I’ve spent a lot of time optimizing the performance of many backend services. This is a very standard practice. Having highly performant code can save companies a ton of money on compute. In fact I’ve worked on a stateless web server who’s architecture was completely designed around a custom chunked/streaming protocol specifically to minimize latency. All changes to the service went through rigorous performance testing and wouldn’t be released if it failed certain latency and throughout thresholds.
- naikrovek 1y agoNot rage at or sarcasm. Maybe you have optimized your stuff so far that you have to use Compiler Explorer to tell you how many cycles a change will cost you in a user transaction. I doubt you do, but maybe you do. Someone surely does this, somewhere. Maybe finance developers do this actually. I’m sure there are enterprise devs who throw all industry “best practices” out the window, because they all seem to be designed specifically to slow your software down, but I’ve never even heard of anyone doing that. Maybe you’re an enterprise developer who writes code in a very strongly data-oriented way, rather than strongly matching the objects in their code to the simple concepts the users think of when they’re using their software. I honestly hope you are, because I’ve been dying to see that stuff happen ever since I became an enterprise software developer and saw how things are really written. I have always worked with people who strongly prefer to write their things in JavaScript or Python, because anything else is “too hard.” I’m only slightly exaggerating with that. Very slightly.
- const_cast 1y agoIn my experience in enterprise code nothing really matters except the DB. From a performance perspective. The amount of compute you can save in application code is peanuts next to a poorly written query or worse, a poorly designed data model. I've seen code take 10 minutes (yes, really) to complete a request. Naturally that's 99.99% database time. The application code, which was C++, was nothing. If we switched to Java or even Python nobody would notice. What made that request so bad was so simple, too. No pagination, no filtering. Instead, it was done in the application code. Yes, really, grabbing hundreds of thousands of rows and then filtering them in for loops and returning less than 100. Original code written who knows when (our source control only went back to 2011 so it's anyone's guess). Probably at some point grabbing all the rows didn't really matter. But then the table grew and grew and I'm sure it's scope grew, too, and suddenly the performance was unbelievably bad. Anyway, if you can write half decent SQL you're already leaps and bounds ahead of most backend developers. Half of backend developers avoid SQL like the plague, and it leads to doing SQL-like things in application code, which is just asking to start a fire in the server room.