12) If they don't talk to each other, both will report too low of a BTC balance for him!
So there's still some tricky work to do there on the interplay between similar but different fills.
And if you can't parallelize it, then you're stuck going one at a time.
Conversation
14) (FWIW, when and Gary were talking about this today, the metaphor used was basically of a symphony with a conductor, and improvements were to the conductor that coordinated which computer processed which fills.)
2
14
The fills hit the market trades list though right? If that’s the case, can’t you stream balance diff updates based on the account metadata associated with each fill?
1
I was thinking of something like this:
onFill(symbol, price, size, account) {
maker_balances = applyBalances(maker_account, symbol, price, size) // update db
propagatePublicTrade(symbol, price, size) // trade list
propagateBalanceChange(maker_balances) // balance updates
}
1
1
As long as you can do db read/write without concurrency issues, should be able to pass balance change diffs without knowing the whole balance state
1
2
Replying to
Yup, I think this might be part of the rub -- overloading databases with read/writes.
though really knows better than I
Makes sense, assume you guys use time series db already.
Quick hack could be to up min trade size, assuming there are spammy smaller trades that incur high load / volume ratio
1
2
You’re unable to view this Tweet because this account owner limits who can view their Tweets. Learn more
Right! If you already publish a public trade it means you’ve processed the balances, just a matter of pushing that diff update to the client instead of the total state
1

