On Thursday, September 26, 2013 4:47:17 AM UTC-4, 서재필 wrote: > > I'm trying to use Beagle Board for real-time audio-processing. > > I bought this one because of these clock speed(1Ghz). > > My algorithm running time is about 0.6 ms for one frame in my > computer(window7, 2.6Ghz Quad-core). > > But when I run my algorithm on BB(Angstrom, 1Ghz), it spends about > 40ms for one frame. > > Isn't it ridiculous? Because clock speed defference is just 2 or max 3 > times. But measuring processing speed is not. > > Wha'ts wrong with it? >
Assuming that you can make a fair comparison of clock speed to performance[which you can't], your difference is over 10 times, not 2 or 3. Your comparing a quad core device with a single core device. Right off the bat this will cause issues since Linux is not real time operating system tuned for a specific set of tasks, it is a general operating system - so it is running multiple processes at the same time. On your quad core device, you have some buffer since the running programs will be spread between different processors. The Bone will be running everything on one core. Firstly, did you make sure to adjust the priority of your process to give it a big share of the processor space? If running from the command line, for example "runmyprogram" instead run it as "sudo nice --adjustment=-20 runmyprogram*"* Secondly, you have to consider what your doing. Your doing audio processing. What do musicians do for that? They use Linux with the Real Time performance enhancements installed. This lets you give your process higher priority over almost everything else, including most of the operating system. So you need to recompile your kernel for that. Thirdly, your processing a large amount of data, correct? And your trying to store it on the "hard drive" I bet - which is a slow MMC card[as opposed to your fast SATA hard drive on your windows box]. The simple solution there is to sacrifice some memory and setup a ram disk. Check your /etc/fstab file - you probably already have a small ramdisk setup there to map to the /temp directory using the tmpfs file system. Just increase that up to 128M and do all your file processing in the /temp folder. Fourthly, avoid disparaging seeming comments like "isn't it ridiculous" and instead phrase them in such a way as to take responsibility for the failing such as "I'm sure I am doing something wrong. What methods are there to increase performance?" Speaking for myself personally, it makes the difference when I answer between my taking the time to do a few google searches and provide links to articles explaining how to implement something vs just giving the answers and leaving looking up implementation to the other party. -- For more options, visit http://beagleboard.org/discuss --- You received this message because you are subscribed to the Google Groups "BeagleBoard" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/groups/opt_out.
