On Wed, Oct 12, 2016 at 10:58 AM, Max <msuraev(a)sysmocom.de> wrote:
Is there some microbenchmark available? Perhaps we can
use it to improve
generated code?
Potential Viterbi optimization using SIMD methods is substantial as I
demonstrated many years ago. The implementation does require
separation of puncturing and Viterbi. Unfortunately, the has code
experienced code rot since then. Admittedly, I accept much of that
blame.
=================================================
[+] Testing: GSM TCH/AFS 6.7
[.] Specs: (N=4, K=5, recursive, flushed, punctured)
[.] Input length : ret = 140 exp = 140 -> OK
[.] Output length : ret = 448 exp = 448 -> OK
[.] Performance benchmark:
[..] Encoding / Decoding 800000 bursts on 8 thread(s):
[..] Testing base:
[..] Elapsed time....................... 4.320001 secs
[..] Rate............................... 25.925920 Mbps
[..] Testing SIMD:
[..] Elapsed time....................... 0.458272 secs
[..] Rate............................... 244.396341 Mbps
[..] Speedup............................ 9.426718
http://lists.osmocom.org/pipermail/openbsc/2014-April/007365.html
-TT