Log in

View Full Version : Intel XScale processor performance problems (30% SLOWER) on iPaq Pocket PC


Niels
11-27-2002, 03:53 AM
We are using Pocket PC's (> 500 devices) for a commercial application for the healthcare industry. The software was developed with Microsoft Embedded Visual Basic (EVB) and Embedded Visual C (EVC), i.e. EVT 3.0. Most of the Pocket PCs used are Compaq iPaq 36xx, 37xx and 38xx. One of the problems we faced was sufficient but not great performance of the devices. Therefore some time ago we were delighted to learn that Intel would release a new processor generation for use with Pocket PC, the XScale, which would of course improve performance, or so we thought. After getting the first device with this processor (a Compaq iPaq 3950) two weeks ago we were not so delighted anymore, the thing is actually in real life applications 30% SLOWER than the previous processor generation. Our program needs to import a few thousand records of data and write this into a database table, when I tested yesterday the older iPaq 3850 needed 14 minutes 15 seconds for a typical dataset, the new iPAq 3950 needs 18 minutes 56 seconds,

This is a SLOWDOWN by 32% !

This slowdown is noticable in every operation, calculations, opening forms, saving data,...
And this is NOT multimedia stuff or copying of large memory blocks.

Something is wrong here I thought and searched the web, unfortunately finding confirmations all over the place. Reasons I read are a major bug with the cache of the XScale and that it runs the ARM code in emulation mode but frankly I do not care about the reasons.

Obviously performance is the single most important quality identifier of a microprocessor. The bottom line is that the newer Pocket PCs are 30% slower than the previous generation due to a crappy processor. (and what I read is that the iPaq is supposed to be one of the faster XScale Pocket PC models...) In my opinion Intel screwed up big time on this one.

What would you do when Windows XP on the brand new Pentium 4 PC would craw along SLOWER than on your old Pentium III PC ? Or the newest model of your favourite car brand makes just 50 mph ? Right - You would'nt buy it.

So my recommendation is : If you can wait do not buy a Pocket PC with an XScale processor until Intel fixes their quality problems. Even battery life is supposed to be not better (we did not test this) as the new processor runs with 400Mhz instead of 200Mhz (for the older ARM processor). Yes, there is the possibility that Microsoft will release a Pocket PC 2002 built that is optimized for XScale and they even may give it away as a free upgrade (unlikely). But this will happen together with a new hardware generation of Pocket PC's, so if you buy now your hardware will be outdated already by then.

Please feel free to add your opinion to this thread.

Niels Schwartz
System Integration Analyst

butch
11-27-2002, 04:15 AM
What would you do when Windows XP on the brand new Pentium 4 PC would craw along SLOWER than on your old Pentium III PC ? Or the newest model of your favourite car brand makes just 50 mph ? Right - You would'nt buy it.


Nothing new here, I think everyone is waiting for a new SDK optimized for Xscale, but i don't count on it until CE .Net is out. And a P4 1.5Ghz is about as fast as a PIII 1Ghz! So Intel don't really bother to know if peoples buy their stuff! 8)

mookie123
11-27-2002, 04:20 AM
I thought Xscale is slower when the program require a lot of memory read/write, but the "in flight" execution actually is not to shabby? Plus the advantage of Xscale it seems is the power consumption compare to StrongArm.

PS. wouldn't developer site like dev buzz a better place to post if you are looking for a solution?
http://forums.pdabuzz.net/showthread.php?threadid=43806

http://www.pocketpcpassion.com/forum/showthread.php?s=a3468bb178d90e78e16e17d2a455b33a&threadid=21850

Rirath
11-27-2002, 04:40 AM
Therefore some time ago we were delighted to learn that Intel would release a new processor generation for use with Pocket PC, the XScale, which would of course improve performance, or so we thought.

So in other words, it's your mistake? I believe just about everyone else already is aware of the Xscale speed differences. People will just never learn clock speed doesn't equal speed. People have been saying for months now Xscale is, generally, not faster. It's usually not slower, either. Look, I feel for ya if you was honesly expecting 400mhz speed and didn't get it. But such is the price for being on the cutting edge. It's not always what you expect. In which case you should hold off until devices have been tested and approved for a good 3-6 months.

Jason Dunn
11-27-2002, 06:58 AM
What would you do when Windows XP on the brand new Pentium 4 PC would craw along SLOWER than on your old Pentium III PC ? Or the newest model of your favourite car brand makes just 50 mph ? Right - You would'nt buy it.

Well, I agree that this is a major screw up and it sucks, but just to bring this into the zone of reality, the first P4's from Intel WERE slower than the PIIIs - it *always* takes Intel a few revisons of the CPU to iron out the problems. It's the Intel way - the long and short of this issue is that the Xscale excutes ARM4 code quite poorly in comparison to the StrongARM CPU you did your testing on.

jizmo
11-27-2002, 07:06 AM
So in other words, it's your mistake? I believe just about everyone else already is aware of the Xscale speed differences. etc..

I think you're being a little harsh here. Intel's informing policy on these issues haven't really been the best possible. All of us waited the 400mhz XScale and *really* no-one had any idea that the new processor would perform worse than 206mhz ARM. Not until the first benchmarks came out. There wasn't any kind of announcements that there had to be a software support to get any speed advantages out of it.

This is misleading and confusing the customer, which is never a smart move. It's very natural, that if you pay extra for seemingly faster processor, you suppose it to function that way.

I'll use the good ol' car comparison here. If you choosing between two model, the first one has 1,5l engine and the more expensive one 3,0l. If the latter one wouldn't outperform the cheaper, just because "the fuel injection system (or something like that) doesn't yet support the bigger engine", I'd really feel swindled.

I wonder what's taking MS so long to release the new SDK. All the new PPC's have XScale, so it's not really curiosity any more.

/jizmo

Rirath
11-27-2002, 03:59 PM
I think you're being a little harsh here. Intel's informing policy on these issues haven't really been the best possible. All of us waited the 400mhz XScale and *really* no-one had any idea that the new processor would perform worse than 206mhz ARM. Not until the first benchmarks came out. There wasn't any kind of announcements that there had to be a software support to get any speed advantages out of it.

Such is the price of wanting to be first. You win some, you lose some. But dragging the Xscale name through the mud isn't helping to fix his problem. I believe that's all he's posted this for, and duplicated it elsewhere. He wants a bone to pick.

This is misleading and confusing the customer, which is never a smart move. It's very natural, that if you pay extra for seemingly faster processor, you suppose it to function that way.

And for my usages, it looks like it does. Based on every bench I've seen so far, if I had to choose today between an Xscale or Arm of the exact same PPC, I'd take Xscale. If you're unwilling to deal with the bugs of the first generation and unwilling to work through them, simply leave it to someone who is.

Niels
11-28-2002, 04:21 AM
A few comments...

Such is the price of wanting to be first. You win some, you lose some. But dragging the Xscale name through the mud isn't helping to fix his problem. I believe that's all he's posted this for, and duplicated it elsewhere. He wants a bone to pick.

This is exactly what I intended to do and this WILL help to fix the problem. Of course the Pocket PC manufacturers do not put a red sticker on the box that this product is 30% slower than the old model. But if the public is informed well through other channnels like the newsgroups and forums and enough people are not tricked (sticker "400 Mhz") into buying flawed products - then maybe the manufacturer(s) fix the quality issues and we all get better products.

Niels

Janak Parekh
11-28-2002, 04:58 AM
Question - why do people assume that using "XScale-optimized instructions" will solve the performance problems that the processor has? I've read rumors all over the place that say Intel has made some mistakes with cache and memory moves, and it's not clear to me that this is necessarily connected with the ARMv4 emulation mode in the processor.

As Jason's mentioned, I'm also very curious to see how other ARMv5 implementations stack up. I think Intel is more to blame for the performance problems here than an "unoptimized" source base.

If I'm wrong, could someone post a link with comparative benchmarks running ARMv4 vs ARMv5 code on the XScale to demonstrate? I've never seen this in any argument and I think it's sorely lacking, and we're just jumping to conclusions, "hoping" that an XScale-optimized PPC 2003 will solve the performance issues latent in these devices.

By the way - Niels - I see you were careful to point out how remiss Intel has been (as opposed to just the OS manufacturers) in addressing this, and I applaud that. :) On the other hand, the specialized nature of your task highlights the weakness in these processors more than a typical end-user's experience, so I don't see a mass-market boycott working - Pocket PC Thoughts is only a small chunk of the community at large.

thanks,

--bdj

Rirath
11-28-2002, 06:16 AM
This is exactly what I intended to do and this WILL help to fix the problem.

At least you admit that much, but you're seriously misguided. The public was not tricked, and crying foul is going to do very little to solve the problem. Like they always say, don't believe everything you read. Especially with new technology. Though I still can't remember seeing any claims such as "Now 2x as fast!" "200% speed increase!" etc on any of the recent PPC ads. Some techies just assumed... bad move. The general public yawns, they still don't understand what Xscale or ARM even is, much less care.

Question - why do people assume that using "XScale-optimized instructions" will solve the performance problems that the processor has?

I'm not quite sure where you get this. Most people who know what they're doing don't figure it as a magic cure-all. We'd just simply like to see it happen for what it's worth. It's had good results with a few programs, and others none at all. If you're asking why the "I know a little but not a lot" crowd assumes that... for the same reason they assume anything. Their logic told em so from what they've read or guessed at.

Niels
11-29-2002, 06:57 AM
Update :

As some people in some forums where I posted my original message just did not believe the SLOWER performance of the XSCale Pocket PC over an ARM based Pocket PC here you can test for yourself.
Download the benchmark program from

http://www.pocketgear.com/software_detail.asp?id=1239&associateid=9

(I am not in any way associated with the developers of this program)

This program just tests floating point performance.

Result for me :

Compaq 3850 (ARM) for 100000 loops : 47.099 seconds
Compaq 3950 (XScale) for 10000 loops : 57.764 seconds

XScale is 23% slower for floating point ops ! This becomes WORSE for memory block copying operations.

please fill in other XScale devices !

Niels

rave
11-29-2002, 08:41 AM
Niels, most people including me have seen those numbers already. It's a well-known fact that XScale runs ARM4 code a bit more slowly than it would do native code (which is logical). Since most software today are based on ARM4, it comes as no surprise that they don't perform as fast as we expect of a 400MHz chip.

I could point out, however, that your argument is as flawed as comparing the framerate of Quake and that of a PSX game running on emulation. In all probability, that benchmark program runs on ARM4 code. Perhaps if we compare performance on equivalent native-code programs (or equivalent native-code VB runtimes for this case), it would be a lot more fair.

As for your specific case, I have two recommendations:

* Re-compile and re-distribute your custom database application with EVT 4.0. I think they've included XScale support in that version.

* Stop using the 3950 and go back to the 3850.