![]() |
Effectiveness vs Efficiency
Effectiveness = The ability for a program to complete the task it was designed for but sometimes at the expense of efficiency
Efficiency = The time and resource consumed by a program to complete the task but sometimes at the expense of Effectiveness Someone was telling me that they weren't happy with how slow some Microsoft program (Ie: Excel, Word, etc) were working. I would choose effectiveness over efficiency since you still get work done. Which would you choose? |
that said, I want BOTH! If software doesn't do what I need it to, I'm not gonna bother using it.
but if it can't do it in a reasonable amount of time, well, I'm STILL not gonna bother using it. regarding office: I choose efficiency. I give up a few fancy features and use the much smaller & more efficient TextPad to write my papers. If I need formatting, I launch open-office. thus, I get the features, I get the effectiveness, AND I have paid no money. Sounds like a deal to me. |
from a fortune file
yeah i was trolling fortune.. i was bored ok..
there one one and it went like this: in 19XX 2 c-64 computers were all that was required to send a rocket to the moon . In 1998 a Pentium 400 is required to run Office98. ... Something has gone horribly wrong. Another reason why i 've been liking linux more an more.. short of big programs like evolution (what outlook should be) and Open Office all programs seem relatively bloat free. A user can have 15+ applications running on 8 desktops and not need to churn his hard drive to refresh a web page. A nice example The Gimp Photoshop(ish) in Under 7mb. again, as always.. the above is IMO Morose |
It's ALWAYS a trade-off. And sometimes it's a trade-off that changes over time.
I wrote a program for a customer of mine that was a "people who like this also bought" feature. Basically on each of his web site's product detail pages, we'd get our current item number and cull through the orders from the last 30 days looking for items that were in orders with the current item. Ordered by frequency, decending, limit 3. Worked great until he tripled the number of SKUS he carries. And then he got a big fat mention on a prominent TV show and his traffic and sales skyrocketed. Suddenly each of his product detail pages take three minutes to load, as the database grinds under the load of all this data. So we back 30 days off to 10 days which helps a little. Now pages only take 60 seconds.... Ultimately, a rewrite was called for. I turned the script into a cron job that goes through the orders table at midnight or so, pre-caching the association data for each item in the database, and modified the detail page to do a simple query from the cache table. Shazam, instant product detail pages. So in that case, my initial design was ALL about effectiveness. I didn't have a eye on efficiency at all, because I failed to anticipate the data would grow the way it did. |
Quote:
Now you have a massive scaling problem and probably 9/10 apps would crumble under such increases and need to be rethought with the new larger dataset in mind. Time vs Efficency vs what if? |
"A Program can be efficient, correct, done on time
- please choose two". That's why we have the number one rule for all real programmers: Get it right, then get it fast. |
There application of the 90-10 rule -
10% of the functionality adds 90% of the bloat. 10% of the functionality creates 90% of the bugs. 10% (often MUCH less) of the code deserves optimization. 90% doesn't. |
I agree with pretty much all of the above.
I budget my time, I don't look at the end product as much because I am only capable of what I am capable. I think that as long as you put in the requisite fourteen hours a day 6 days a week (that's how we worked it in Israel) and produce a finished product without bugs (although maybe missing features) you've done all they can expect of you. They can take their missing features and stick it ;-) |
I'm not going to step back into the rant, but this exemplifies what I was trying to get at with the post that seemed to prompt this thread. May not have been me, but I've said very similar in the past.
Quote:
|
Quote:
The desktop I write this on is a pentium III 450 and I still play online videogames with this box. In fact I play Ravenshield on it, a 3d game which was released only a year ago. Your going to have to explain to me what this is about bloated software. Because I really don't see it. In fact I see software getting better. I think IE6 was better then the previous versions. It loads faster on my 450 and can load huge pages with 100's of pics without choking up my system and making it non-responsive. It's a shame they stopped developing IE and never added tabbed browsing. If I had to complain about any specific app I would say bit torrent, it's an incredible CPU hog and I blame it on being written in python. Sorry but we have to step into this debate until we hash it out. I don't think the grass is greener on the otherside. I think it's darn green right here. |
Ideally, code should be functional, AND quick, but realistically, it seldomly works out that way.
So, the first step to any program should be to make it work. Then you worry about optimizing the code. Complete the code, and figure out where the bottle necks are, and focus your attention on those areas. Otherwise, you waste your time. There's no point optimizing that image loading code to get an extra 20us if the image only loads on the screen once in the entire life of the program. |
All times are GMT -8. The time now is 05:02 PM. |
Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2025, vBulletin Solutions, Inc.
Search Engine Optimization by vBSEO 3.6.0 PL2
© 2002-2012 Tilted Forum Project