Workflow status is tracked in GitHub: https://github.com/emulebb/emulebb/issues/39. This local document is retained as an engineering spec/evidence record.
BUG-129 - Follow up remaining C++ hot-path performance findings¶
Summary¶
Track the concrete non-REST hot-path findings that were not selected for the immediate RC1 REST compatibility slice. These are not speculative rewrites; each item points to repeated full-list work that can become visible on large profiles or bursty network/UI paths.
Deferred Findings¶
srchybrid/DownloadQueue.cpp:SortByPriority()sorts a linkedCListthrough repeatedFindIndex()calls and can run once per added link during bulk intake.srchybrid/DownloadQueue.cpp:CheckAndAddSource()scans every part file and source for each newly discovered source; add a source identity index keyed by user hash and IP:port before considering broader flow changes.srchybrid/SearchListCtrl.cpp: grouped search-result source updates repeat full result scans and list-controlFindItem()calls.srchybrid/DownloadListCtrl.cpp: category switching walks all tracked rows and then performs linear list-control searches while showing/hiding rows.srchybrid/SharedFileList.cpp: Kad source/note publishing rotates by index throughGetFileByIndex(), which rescans the shared map from the beginning.
Acceptance Criteria¶
- [ ] Download priority sorting either uses a vector-backed sort or defers one sort until the end of bulk link intake.
- [ ] Source duplicate detection has an indexed fast path with a documented fallback for repair or inconsistent state.
- [ ] Search-result grouped row updates avoid repeated whole-result scans for a single touched parent.
- [ ] Download category switching rebuilds visible rows in one bounded pass or maintains a reliable pointer-to-row index.
- [ ] Kad shared-file publish rotation avoids index-based rescans over the shared-file map.
Notes¶
SharedFilesCtrl::SortVisibleFiles was not reflagged here because the previous
startup hot path was fixed by app commit f91fd8cd.