Linked by Thom Holwerda on Mon 29th Jun 2009 20:47 UTC
Hardware, Embedded Systems In our latest podcast Kroc and I again talk about the trboules facing netbooks, and we solely place the blame on software not taking proper advantage of the hardware, and OEMs picking the wrong software to begin with. There's two ways to solve this: better software, or faster hardware. It seems like the industry will move to the latter.
Order by: Score:
Performance? Hmm...
by merkoth on Mon 29th Jun 2009 21:58 UTC
merkoth
Member since:
2006-09-22

The problem is, most students right now are receiving the kind of education that will allow them to get a job ASAP. They're taught how to work on software development, not how to be good software developers.

Java and .net are all over the place, and even though they're both very programmer friendly (I don't agree with this, but it seems like it's the current trend), they leave a lot to be desired on the performance front.

Not only that, most of the time, these students will be encouraged to use the slowest functionality on already slow software platforms, most of the times because they look nice and/or there's a new fancy buzzword for it.

So rest assured Thom, things on the performance side are going to get much worse :-P

But well, I feel old whenever I talk like this, and I'm not even that old. Now get off my lawn! ;-)

Edit: And sorry for going off topic, I'm really tired of bloatware.

Edited 2009-06-29 22:01 UTC

Reply Score: 5

RE: Performance? Hmm...
by malxau on Tue 30th Jun 2009 00:27 UTC in reply to "Performance? Hmm..."
malxau Member since:
2005-12-04

Couldn't have said it better. The funny part is that for those of us who've been developing software for a while, developing 'fast' software comes naturally. It's hard to load a modern CPU unless you're doing something really intense (or more likely, stupid.)

The way I see it, netbooks are XP machines from 2003/2004, with a CPU on par with a Prescott, 1Gb RAM, comparable video (until now), etc. They always have been relatively powerful machines.

The software performance challenge isn't really issued to experienced/professional software developers. It's issued to people who've never written native code before, and need to learn how to do so properly.

Reply Score: 1

RE: Performance? Hmm...
by Elv13 on Tue 30th Jun 2009 00:46 UTC in reply to "Performance? Hmm..."
Elv13 Member since:
2006-06-12

Agree! As one of these student who have to learn C# and Java, I can't say that the way we are trained is a no go. Nobody care about speed (and I am in a video game oriented program, everybody know that performances are useless in video games. Other student think I am some kind of freak every time they see me using inline assembly in pure C part of my applications. They don't even know that operator like |, <<, >> (the C one, not C++), % or ^ exist. Their apps are made mostly of heavy while loop and function driven if and else if for every possible case, it is just terribly unoptimized code.

Last time I worked with a "normal" student (not those like me who take performances seriously), I rewrote a parsing algorithm in 159 line of C++ instead of ...



...

3500 lines of code made mostly of loops!!!!

Reply Score: 2

RE[2]: Performance? Hmm...
by merkoth on Tue 30th Jun 2009 02:22 UTC in reply to "RE: Performance? Hmm..."
merkoth Member since:
2006-09-22

(...) everybody know that performances are useless in video games.


Maybe I'm misunderstanding, but as a console videogame developer myself I can say that videogames are all about performance... Maybe you meant otherwise?

Reply Score: 2

RE[3]: Performance? Hmm...
by darknexus on Tue 30th Jun 2009 03:40 UTC in reply to "RE[2]: Performance? Hmm..."
darknexus Member since:
2008-07-15

It sounded like sarcasm to me. In any case, I agree. One of the prime reasons I dropped CS as a field of study was simply that the teachers I'd come into contact with were basically useless. I can, and do, learn more on my own than I ever learned from those so-called experts and professors... too bad that most CS "professors" aren't actually professional developers along with it. I've always felt that the only ones who are qualified to teach something are those who have actually done it for a while, not those well-versed in the theory but with a lack of practical knowledge.

Reply Score: 2

RE[4]: Performance? Hmm...
by merkoth on Tue 30th Jun 2009 04:04 UTC in reply to "RE[3]: Performance? Hmm..."
merkoth Member since:
2006-09-22

D'oh, thanks. I accidentally turned my sarcasm-o-meter off ;-)

Reply Score: 2

RE[4]: Performance? Hmm...
by Phloptical on Tue 30th Jun 2009 04:08 UTC in reply to "RE[3]: Performance? Hmm..."
Phloptical Member since:
2006-10-10

Yet another example of the brilliant saying, "Those that can — do: those that can't — teach."

Reply Score: 5

RE[5]: Performance? Hmm...
by darknexus on Tue 30th Jun 2009 06:58 UTC in reply to "RE[4]: Performance? Hmm..."
darknexus Member since:
2008-07-15

Yet another example of the brilliant saying, "Those that can — do: those that can't — teach."

Never heard that one before, but I like it and it's certainly seems to be true anymore.

Reply Score: 2

RE[4]: Performance? Hmm...
by redviper on Tue 30th Jun 2009 06:54 UTC in reply to "RE[3]: Performance? Hmm..."
redviper Member since:
2006-11-28

CS is about programming as much as math is about counting.

Reply Score: 2

RE[5]: Performance? Hmm...
by darknexus on Tue 30th Jun 2009 07:01 UTC in reply to "RE[4]: Performance? Hmm..."
darknexus Member since:
2008-07-15

CS is about programming as much as math is about counting.

Sorry, I used the CS term in its generic sense, but I was focusing on the programming field of it. In most schools here in the states, just about anything computer related falls under CS, although sometimes it is split off into CS and IT/CIS.

Reply Score: 2

RE[6]: Performance? Hmm...
by dagw on Tue 30th Jun 2009 08:45 UTC in reply to "RE[5]: Performance? Hmm..."
dagw Member since:
2005-07-06

I was focusing on the programming field of it.

If you want to be taught programming the profession by people who write code for a living then you should really be going vocational school and not university. The problem is as much about students who sign up for CS programs without any interest in learning CS. CS professors are there to teach you CS, not how to hack code.

Reply Score: 2

RE[5]: Performance? Hmm...
by suryad on Wed 1st Jul 2009 14:40 UTC in reply to "RE[4]: Performance? Hmm..."
suryad Member since:
2005-07-09

That I agree with wholeheartedly. I am by no means an awesome programmer but having gone through the rigor of a 4 year CS course at a prestigious university, I must say I have done most of my learning at work.

I still am learning tons every day.

Reply Score: 2

RE[3]: Performance? Hmm...
by Elv13 on Tue 30th Jun 2009 04:48 UTC in reply to "RE[2]: Performance? Hmm..."
Elv13 Member since:
2006-06-12

It was a joke, it is oblivious that it is essential. Video games are almost the only thing able to load a Desktop PC (compiling and encoding are two other).

Reply Score: 1

RE[4]: Performance? Hmm...
by Dryhte on Tue 30th Jun 2009 08:22 UTC in reply to "RE[3]: Performance? Hmm..."
Dryhte Member since:
2008-02-05

um... you obviously forgot about flash movies :p

Reply Score: 2

RE[2]: Performance? Hmm...
by PlatformAgnostic on Tue 30th Jun 2009 04:29 UTC in reply to "RE: Performance? Hmm..."
PlatformAgnostic Member since:
2006-01-02

While I agree with what you're saying about the people who use high-level languages and stupidly complex algorithms, you get no points for using inline assembly. With modern, competent compilers (e.g. gcc, msvc, sun studio, etc), the compiler will likely choose a good code sequence to balance size and speed. Especially if you give it some feedback in the form of profile-guided optimization. Inline asm sometimes inhibits the compiler's optimizer and generally is a waste of time if you're good enough to write clear, straightforward-to-optimize C code without too many pointers flying about (to avoid aliasing deoptimizations).

The real trick lies in writing straightforward, maintainable code for the bulk of your program so that the compiler will do a good job, and then tweaking the C code (or using processor intrinsics where there's a not-normally-generated instruction that will help you out) to get the instruction output you want from the compiler. Chances are good that you'll get it with a modern compiler, even if you don't resort to stupid tricks with the >>, XOR, or AND operators or manually strength-reducing divisions.

Reply Score: 2

RE[2]: Performance? Hmm...
by dagw on Tue 30th Jun 2009 08:54 UTC in reply to "RE: Performance? Hmm..."
dagw Member since:
2005-07-06

I rewrote a parsing algorithm in 159 line of C++ instead of ...
3500 lines of code made mostly of loops!!!!

In and of itself, this means nothing. Does the change significantly improve performance in a performance critical part of the App? Is the new code easier to read, extend and maintain? Does the new code add vital features? LoC in and of itself is totally meaningless and doesn't say anything about which code is better.

Reply Score: 2

RE[3]: Performance? Hmm...
by Elv13 on Wed 1st Jul 2009 02:48 UTC in reply to "RE[2]: Performance? Hmm..."
Elv13 Member since:
2006-06-12

Spagatti code is impossible to maintain, every know that. Those 4 digit algorithm appear when people code with a debugger "oh, this case don't work, let add few line to fix that" and do that over and over again 10 thousand time. When you plan what you are doing, you end up with smaller, easier to maintain code and not just a bunch of hack almost not working.

Smaller LoC often mean more preparation and cleaner "where I am going" path.

Testing every possibility is sometime smaller, but exceptionally slower than using more complex algorithm, you are right. But coding with only a goal at the end and debugging until you come close to it is not the right way to go and produce 3500 LoC algo when they should be less than 200 if you take the time to do a trace before writing it instead of during the coding process.

Reply Score: 1

Aspire Revo
by Wondercool on Mon 29th Jun 2009 21:58 UTC
Wondercool
Member since:
2005-07-08

Just bought an Aspire Revo nettop for 190 euro.

It has an Atom 270 + 9400M ION, 1Gb, 160Gb hard disk, card reader, 803.11N, HDMI out, all in the same space as a Mac Mini. It is going to be my next HTPC. For that money I can't build any other HTPC that is that small and capable. I am still messing with XBMC and Windows 7 on it but already I am very impressed.
No optical disk but that's not really necessary anymore in the age of USB keys and NAS systems.

Need to iron out the remote control and some minor bits but it is fully capable of playing 720p. I haven't played 1080 on it (I have nothing yet) but all reports say it will work.

Incidently, the next version "up" is the same box with 2Gb Ram and Windows Vista. That cost 250 pounds! Mine was 160. That means that Windows Vista + 1Gb Ram extra = 90 pounds!!! What does Microsoft promise to Asus to stop Linux from their netbooks?? They must promise something I am sure.

No doubt in my mind that ION will be a huge success!

Reply Score: 1

Comment by flanque
by flanque on Mon 29th Jun 2009 22:04 UTC
flanque
Member since:
2005-12-15

Could it just be that people want a high performance, low power consumption laptop that in a small form factor?

Maybe it's the laptop that needs to catch up to the netbook.

Reply Score: 2

Intel / Anti-Trust
by ferrels on Tue 30th Jun 2009 13:55 UTC
ferrels
Member since:
2006-08-15

I'm finding it extremely difficult to locate, let alone purchase an ION product here in the US. It's good news to me that Intel was just slapped with a $1.45 billion fine by the EU for anti-competitive practices. I think Intel is guilty of the same crime against Nvidia here in the US, hence the lack of US suppliers of ION products. You can certainly find loads of ATOM based products which are clearly inferior to Nvidia's ION based products.

Edited 2009-06-30 13:56 UTC

Reply Score: 1