Jean-Marc Valin wrote:> At this point, if you want to help, the best way would probably to try > tracking done what part of the code is responsible for the high system. > Once this is identified, we'll have a much better idea. > > I managed to log on the XSCALE 400 on handhelds.org. It helped, but I > can't do everything with it (and by attempts at profiling failed).I don't know how to profile code (yet), but i'm about to go find out. Is it possible to profile the code on my x86 workstation, or does it absolutely have to be run on the machine? ARM emulator anyone? :) MAL --- >8 ---- List archives: http://www.xiph.org/archives/ Ogg project homepage: http://www.xiph.org/ogg/ To unsubscribe from this list, send a message to 'speex-dev-request@xiph.org' containing only the word 'unsubscribe' in the body. No subject is needed. Unsubscribe messages sent to the list will be ignored/filtered.
> I don't know how to profile code (yet), but i'm about to go find out. > > Is it possible to profile the code on my x86 workstation, or does it > absolutely have to be run on the machine? ARM emulator anyone? :)Not only you need the ARM machine, but I'm not even sure a regular profiler will give you anything since I think it only profiles stuff that runs in user space (though it's worth checking). It might be that the only way to find is by playing with the code and see what changes. Of course, that might take some time... I suspect that what happens is that the CPU hits a float operation and generates an illegal instructions which is trapped and (slowly) emulated by the kernel. What I have no idea about is what part is responsible for that much kernel stuff (i.e. every time I remove some float ops, it almost doesn't have any effect). Jean-Marc -- Jean-Marc Valin, M.Sc.A., ing. jr. LABORIUS (http://www.gel.usherb.ca/laborius) Université de Sherbrooke, Québec, Canada -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 190 bytes Desc: Ceci est une partie de message numériquement signée Url : http://lists.xiph.org/pipermail/speex-dev/attachments/20031107/70113ad5/signature-0001.pgp
MAL wrote:> > I don't know how to profile code (yet), but i'm about to go find out. > > Is it possible to profile the code on my x86 workstation, or does it > absolutely have to be run on the machine? ARM emulator anyone? :)<p>Intel designed performance monitoring hardware into the XScale. They also have a profiling tool called VTune that consists of some "data collector" code running on the XScale target, and a windows host application that collects the data from the target and displays it graphically, etc. http://www.intel.com/software/products/vtune/xscale/vtunex_oview.htm But the web site says it targets the DBPXA250 development board (containing a PXA250) running one of the several Windows CE variants, so it might not be useful to you. Plus they charge for it. I've never used this tool, but I have used a VTune version for profiling Pentium code. It's pretty good, quickly highlighting the performace hotspots for you. Too bad they didn't make the XScale version more general-purpose and put the code in the public domain. Mike <p>--- >8 ---- List archives: http://www.xiph.org/archives/ Ogg project homepage: http://www.xiph.org/ogg/ To unsubscribe from this list, send a message to 'speex-dev-request@xiph.org' containing only the word 'unsubscribe' in the body. No subject is needed. Unsubscribe messages sent to the list will be ignored/filtered.
Hi, I just did some experiments and it seems like the high system CPU time is not due to one specific part of the code, but rather to the extreme inefficiency of float emulation under Linux. I was expecting float emulation to run something like 30 times slower than integer, but it looks like its more like 3000 times slower. This means that all of the float operations must be removed for the code to work properly. ...or maybe there's a way to make the emulation in a library instead of making the kernel trap illegal instructions. Jean-Marc -- Jean-Marc Valin, M.Sc.A., ing. jr. LABORIUS (http://www.gel.usherb.ca/laborius) Université de Sherbrooke, Québec, Canada -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 190 bytes Desc: Ceci est une partie de message numériquement signée Url : http://lists.xiph.org/pipermail/speex-dev/attachments/20031109/908a72de/signature-0001.pgp