On Wed, Oct 12, 2016 at 10:58 AM, Max msuraev@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