eis/eqpalg
Huamonarch f80a917ab7 Async-ify ExpTimes DB persistence with global singleton worker thread
Add AsyncDbWorker: a persistent background thread with dedup queue that
executes DB2 writes asynchronously, keeping the mon 20ms cycle free of
blocking I/O.

Changes:
- async_db_worker.h/.cc: singleton worker, submit() with rule_id dedup,
  drain_and_stop() for clean shutdown
- eqp_stat.h/.cc: new update_static(ruleid, shear_times, running_time)
  overload that skips redundant DB reads for known values (reduces
  5 SELECTs to 3 per persist cycle)
- exp_times.cc: extract persist_exp_times() as a standalone function,
  update_history_times() snapshots values and submits to worker
  (returns immediately), reset_dev_data() uses direct SHM update
- eqpalg_icei.cpp: alg_mgr_.reset() → drain_and_stop() in destructor
  ensures all algorithm threads are stopped before draining the worker

Risk: re-run cmake .. to pick up the new async_db_worker.cc file.
2026-05-13 13:32:50 +08:00
..
.do_not_use Initial commit: EIS C++ project with multi-process code 2026-05-09 11:23:45 +08:00
alg_json Initial commit: EIS C++ project with multi-process code 2026-05-09 11:23:45 +08:00
algs Async-ify ExpTimes DB persistence with global singleton worker thread 2026-05-13 13:32:50 +08:00
define Remove irrelevant comments from eqpalg source files 2026-05-09 13:30:09 +08:00
doc Initial commit: EIS C++ project with multi-process code 2026-05-09 11:23:45 +08:00
exp_macro Initial commit: EIS C++ project with multi-process code 2026-05-09 11:23:45 +08:00
feature_extraction Remove final remaining comment from distribution.h 2026-05-09 13:32:24 +08:00
table_struct Initial commit: EIS C++ project with multi-process code 2026-05-09 11:23:45 +08:00
threads Fix task thread lifecycle: self-destruct when idle, synchronized cleanup 2026-05-12 17:11:07 +08:00
utility Async-ify ExpTimes DB persistence with global singleton worker thread 2026-05-13 13:32:50 +08:00
alg_base.cpp Fix task thread lifecycle: self-destruct when idle, synchronized cleanup 2026-05-12 17:11:07 +08:00
alg_base.h Split RuleStat display from cold data paths to reduce lock contention 2026-05-12 15:46:01 +08:00
algorithm_manager.cpp Remove irrelevant comments from eqpalg source files 2026-05-09 13:30:09 +08:00
algorithm_manager.h Remove irrelevant comments from eqpalg source files 2026-05-09 13:30:09 +08:00
build_algorithm.cpp Remove irrelevant comments from eqpalg source files 2026-05-09 13:30:09 +08:00
build_algorithm.h Initial commit: EIS C++ project with multi-process code 2026-05-09 11:23:45 +08:00
CMakeLists.txt Initial commit: EIS C++ project with multi-process code 2026-05-09 11:23:45 +08:00
eqpalg_changes_2026-05-12.md Add change documentation for 2026-05-12 eqpalg optimizations 2026-05-12 17:22:34 +08:00
eqpalg_icei.cpp Async-ify ExpTimes DB persistence with global singleton worker thread 2026-05-13 13:32:50 +08:00
eqpalg_icei.h Remove irrelevant comments from eqpalg source files 2026-05-09 13:30:09 +08:00
eqpalg_optimization_notes.md Add eqpalg optimization recommendations document 2026-05-09 13:02:45 +08:00
eqpalg_readme.md Add READMEs for RICS, eqpm, dsm and update eqpalg README with corrections 2026-05-09 11:46:17 +08:00
eqpalg.cpp Remove rm -rf of MapRuleStat_boost.mmap on startup 2026-05-13 09:47:52 +08:00
eqpalg.h Remove irrelevant comments from eqpalg source files 2026-05-09 13:30:09 +08:00
gb_item_memory.cc Remove remaining comments (exp_times, STA.h, gb_item_memory) 2026-05-09 13:31:22 +08:00
gb_item_memory.ccBK Initial commit: EIS C++ project with multi-process code 2026-05-09 11:23:45 +08:00
gb_item_memory.ccBK2 Initial commit: EIS C++ project with multi-process code 2026-05-09 11:23:45 +08:00
gb_item_memory.h Remove irrelevant comments from eqpalg source files 2026-05-09 13:30:09 +08:00
gb_item_memory.hBK2 Initial commit: EIS C++ project with multi-process code 2026-05-09 11:23:45 +08:00
gb_logger.cpp Initial commit: EIS C++ project with multi-process code 2026-05-09 11:23:45 +08:00
gb_logger.h Remove irrelevant comments from eqpalg source files 2026-05-09 13:30:09 +08:00