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.

Reply via email to