test(stability): add query benchmarks + a concurrent read/write test - #69
test(stability): add query benchmarks + a concurrent read/write test#69qiansheng91 wants to merge 1 commit into
Conversation
Benchmarks (internal/graphstore, internal/query) for the hot read paths — QueryEntities, QueryTopo, and the full Service.Execute entity path — so perf regressions on large result sets become visible. 'make bench' runs them (smoke by default, BENCHTIME-overridable); CI runs them non-blocking. A concurrent read/write test stresses the memory store's RWMutex; under 'go test -race' it is a data-race regression guard for the shared maps (verified race-clean).
Mr-Xzz
left a comment
There was a problem hiding this comment.
Reviewed the benchmark smoke target and concurrent read/write test. The CI step is non-blocking and the new test exercises the in-memory store locking path without broadening runtime behavior. No blocking findings from my pass.
|
Issue Evaluation Category: Feasibility: feasible This addresses a real gap in performance and concurrency testing. Go benchmarks for QueryEntities/QueryTopo provide baseline metrics, and the 24-reader/8-writer concurrent test with race detection validates thread safety of the memory store. Adding a non-blocking Recommendation: Proceed with implementation. Consider:
Automated evaluation by github-manager-bot |
No performance or concurrency coverage existed for the read path.
QueryEntities/QueryTopoand the query executor.make benchsmoke step in CI.Verification: benchmarks run; the concurrent test passes under
-race.