ew8bakandClaude Opus 4.8 80bab842d7 perf(dsp): удешевлён горячий цикл PushIQItemToDSP
На каждый сэмпл (576к/с при 576 кГц) цикл делал заметно больше работы, чем
требовалось:

- IR * SCALE и QR * SCALE вычислялись ТРИЖДЫ — в аргументы FeedDisplaySample,
  в FBeaconDec.Feed и при записи в FRXAcc;
- FeedDisplaySample был невстроенным вызовом метода ради двух записей в буфер,
  то есть 576 тысяч вызовов в секунду;
- FAnalyzerOpen и FBeaconDec перечитывались из полей на каждой итерации, хотя
  внутри цикла не меняются;
- индекс считался умножением Pos := i * 6.

Теперь DI/DQ считаются один раз, FeedDisplaySample развёрнут в цикл (и удалён
как мёртвый код — других вызывающих не было), флаг анализатора и декодер маяка
лежат в локальных, а по данным идёт бегущий указатель.

Замерено зонным профайлером в режиме CPU-времени потока: dsp.push_iq avg
12.5 -> 9.3 мкс, доля ядра 3.0% -> 2.3%.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-09 16:29:06 +03:00
2026-06-25 12:58:07 +03:00
2026-06-02 18:08:10 +03:00
2026-05-28 15:59:49 +03:00
2026-05-25 14:43:05 +03:00
2026-05-25 14:43:05 +03:00
2026-05-25 14:43:05 +03:00
2026-05-25 14:43:05 +03:00
2026-05-25 14:43:05 +03:00
2026-05-21 15:19:43 +03:00
2026-05-24 16:29:13 +03:00
S
Description
No description provided
Readme GPL-2.0
12 MiB
Languages
Pascal 96.4%
Python 2.9%
Shell 0.6%