On Wed, Oct 12, 2016 at 10:58 AM, Max <[email protected]> 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
