So this was a *long* time ago, but I remember that I did some performance profiling on this, and found that in the heartFelt application, the biggest bottleneck was in, I think, some kind of StringBuffer class. Replacing all dynamically allocatable string buffers with static arrays made a *huge* difference (like 10-fold) in speed, especially because the code gets hit so often in high sample-rate communications.

I cannot remember off the top of my head whether this effected ByteBuffer or not, but it would be worth doing some checks that the code is not very inefficient: the ADT has great profiling tools.