Repository navigation
chore(deps): pin moonproto to b5319770 (cheaper receive path, direct server-index map) - #1161
Merged
Merged
Conversation
…server-index map)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What & why
Moves the moonproto pin from 98420c6d to b5319770 (
Cargo.lockonly; the two moonproto/polling source hashes, edited by hand so unrelatedwindows-sysversions stay put). Upstream's commit answers the station CPU profile from MoonProto#17: owned UDP payloads instead of copies on the receive path, an Engine API response parsed once and reused, a direct server-index → local-position table for market price updates (+~16 KB per 1000 markets per client), andMarketsState::findwithout allocations. moonproto's own dependencies and the Compact 30 ms idle wait are unchanged.Measured on our 28-core station with the same probe as #1149 (idle wait alternating 15/30 ms in one process), moonproto runtime threads at 50k datagrams a minute, fitted against the datagram rate:
MoonTerminal's own feed threads are unchanged (~2.65 s/min). The two runs were on different evenings and built with
cargo zigbuild(Zig's libc allocator), so the release build is where the final number comes from.Notable decisions
MarketsState::find;CatalogLookupusessearch, which upstream left as it was.Known limitations
Issues
Refs #1081 — station CPU; the out-of-memory cause stays open.
How to verify
fmt exit 0, build exit 0, clippy zero warnings, 8776 tests green (TEMP on a drive with at least 10 % free).