You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
perf: add GIGA_SUPPRESS_COSMOS_EVENTS flag to skip dead event emission
Cosmos-level events (coin_spent, coin_received, transfer, etc.) emitted
during giga executor tx execution are never consumed: the ExecTxResult
is built without populating the Events field, and events are not
consensus-critical (stripped from deterministicExecTxResult).
EVM logs (Solidity events) flow through a completely separate path
(tempState.logs -> receipts + MsgEVMTransactionResponse) and are
unaffected.
When GIGA_SUPPRESS_COSMOS_EVENTS=true:
- EventManager.EmitEvent/EmitEvents return immediately (no mutex, no
append, no bech32 encoding in event attributes)
- Snapshot() creates suppressed EventManagers
- Finalize() skips the flushEvents() consolidation loop
This eliminates ~55s of mutex contention per 30s profile window:
- AccAddress.String() bech32 cache mutex: ~27s
- EventManager.EmitEvents RWMutex: ~28s
Also updates benchmark/analysis/ with findings from the AccAddress.String
sync.Map optimization (PR #2902) and this event suppression discovery.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
0 commit comments