- Feature Articles
- CodeSOD
- Error'd
- Forums
-
Other Articles
- Random Article
- Other Series
- Alex's Soapbox
- Announcements
- Best of…
- Best of Email
- Best of the Sidebar
- Bring Your Own Code
- Coded Smorgasbord
- Mandatory Fun Day
- Off Topic
- Representative Line
- News Roundup
- Editor's Soapbox
- Software on the Rocks
- Souvenir Potpourri
- Sponsor Post
- Tales from the Interview
- The Daily WTF: Live
- Virtudyne
Admin
I'm talking about the "free lunch", and that so many people/tools seem to think it's still valid.
In the past, you'd write your code and it'd be fine at initially expected usage. When usage grew beyond original expectations, you'd buy a new, faster machine and bingo, it's fast enough again.
That ended around 5 years ago. CPUs are not getting faster, you can simply buy more of them for the same money/size/power budget.
If you can't write concurrent code, then you can't use those extra cores, and your code will not be able to go faster on a new machine.
The "brute force" approach means a lot of additional overhead and will still fail if the code assumed it is only running once.
Admin
That's not true, FWIW. It's just that the speed differences have become a lot smaller for most code. What's happened is that the number of clock cycles per instruction has dropped on average, mostly because of things like the amount of transistor budget for things like floating point multiplies has become larger, allowing those to become faster. If your code is multiply-heavy, that makes a big difference. There's also been quite a bit of success with integrating SIMD techniques into standard code (NB: this covers everything from MMX to GPUs); programs that can use that have accelerated a lot.
But a lot of general code just has not gained all that much. The real focus of recent developments has been on improving parallel code. Fortunately, multi-process applications can also take advantage of this sort of thing; the PHP fork technique is not actually all that terrible after all. Of course, often what happens is that people use the extra capabilities of the CPU to run VMs; though the individual processes aren't faster, the hardware utilisation is greatly improved…
Admin
Admin
http://i2.kym-cdn.com/photos/images/original/000/276/379/103.jpg
Admin
Just a matter of time with this one.
Admin
I keep reading that as "repossession" instead of "repository". Need to cut back on Gabriel Iglesias videos, I guess...
Admin
https://www.youtube.com/watch?v=DLGrXGEMOSo
Admin
Admin
My choice of words was careful: I wrote "designed from the ground up". Growing from inside is not the same thing, otherwise cancer would be just what you wanted. The word "designed" is important. There are a few companies that select promising graduates or postgrads, have a careful management training system including plenty of outside education, and reward success. Rolls-Royce, Honda, Toyota, VW, Boeing for instance. Sadly, software design still is not engineering.