From 71fb8b26154a76956083f7b55d461736394a95b2 Mon Sep 17 00:00:00 2001 From: Marcus Holland-Moritz Date: Mon, 24 Mar 2025 21:55:26 +0100 Subject: [PATCH] refactor(nilsimsa): reorder for a 5% throughput increase --- src/writer/internal/nilsimsa.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/writer/internal/nilsimsa.cpp b/src/writer/internal/nilsimsa.cpp index 22b3d03f..6e13928b 100644 --- a/src/writer/internal/nilsimsa.cpp +++ b/src/writer/internal/nilsimsa.cpp @@ -149,14 +149,14 @@ class nilsimsa::impl { for (size_t i = 0; i < size; ++i) { uint8_t w0 = data[i]; - ++acc_[tran3(w0, w1, w2, 0)]; - ++acc_[tran3(w0, w1, w3, 1)]; + ++acc_[tran3(w4, w3, w0, 7)]; + ++acc_[tran3(w4, w1, w0, 6)]; + ++acc_[tran3(w0, w3, w4, 5)]; + ++acc_[tran3(w0, w2, w4, 4)]; ++acc_[tran3(w0, w1, w4, 3)]; ++acc_[tran3(w0, w2, w3, 2)]; - ++acc_[tran3(w0, w2, w4, 4)]; - ++acc_[tran3(w0, w3, w4, 5)]; - ++acc_[tran3(w4, w1, w0, 6)]; - ++acc_[tran3(w4, w3, w0, 7)]; + ++acc_[tran3(w0, w1, w3, 1)]; + ++acc_[tran3(w0, w1, w2, 0)]; w4 = w3; w3 = w2;