Holly cow, shoot up a post from the hip and forget to check for a few days and it goes boom!
Quick hits and responses (in no particular order):
@Lifepower
Please expand more on those cases, I can think of specific algo's that exist today that didn't then, but that doesn't mean that optimized implementations of them are unnecessary.
I do have to admit that there are limits to hardware and etc, this is true, but with properly matched hardware and software (EG: Block size * Num Block Reads = divisible record size matched with data block read size in a Database setup) will give you the absolute best results. Just saying, "f-it I'll spin up a copy of <insert database name here> and letting go at it with a few terabytes of data and see if it fails" isn't an answer that ANY corporation would accept. Yet, they accept it when someone implements a slow desktop app.
Perfect example: I recently helped a friend re-write some very basic pre/fetch loops. The old loops looked similar to (obviously not really):
Code:
get master recordset
for each master record
fetch child record
for each child
perform some math
end
end
end
Now, knowing about pre-fetching and knowing that local drive access is faster then networked drive access, and knowing that the MINIMUM drive space available on client systems was 250GB lets us change this to:
Code:
?cache > get master recordset > cache
?cache > get child recordsets within range > cache
perform math on one pass
The difference, what used to take hours now takes seconds (literally, 2 hours down to under 1 min).
@User137
Yes and no, I don't believe that we (as a corporate entity) should ever accept poor UI, but we (again as the corporate entity) have specialists for this (UXP). The developer should focus on making it run like a striped arse ape (what they do best) and not how it looks though .
And yes, if we (the gaming industry) would place as much focus on the stories behind our games as we (again the industry) do on the next generation of 3D I think games would (maybe only Could) be better. Honestly I prefer my old text based games to the modern 3D things as they provide a real story for me to live out (then again, I'm damned near blind, color blind, and get motion sick LOL). Oddly enough, considering SpiderWeb games still makes a profit, I'm not the only one.
@DarkBow
Exactly my point, a few minor tweaks to the source and the speed would probably go up dramatically. At times performance = $$ saved (see later example)
@chronozphere
Balance is key when talking optimization. Sure, given the proper hardware, software, knowledge, and unlimited time, along with the right team of experts you can put out the fastest thing this side of the river. Of course, you will never make a profit.
My experience as a BSA and with Business in general tells me there are key differences between optimizing for fun and optimizing for profit.
Another example:
At one of the teleconferencing companies I worked for we thought of every second (actually millisecond) spent with the app spinning was time lost. And it was, time spent waiting on the system was time people weren't getting into their calls. We optimized our lookups and worked out ways to processing to background systems (yes, we did TRUE polymorphic code shifting and RPC over the wire in DELPHI). This was a key objective though for the business model.
At my last company where we did marketing for Colleges and Universities I NEVER would have taken that approach, it would be total overkill. But, I did look at optimizing the end users experience and pre-calculation of the client reports as much as possible without breaking the bank.
@All
Again, this was more of a rant than anything, but the feedback is interesting . Honestly, when you think of what can be done on modern hardware, then realize what we are doing with it, its a bit disheartening.
- Jeremy
Bookmarks