ideaseq
704 posts


冷知识:Rust 社区争论 RwLock 和 Mutex 谁更快是一种传统。😁
Herbert "TheBracket" Wolverson@herberticus
RwLock is also really easy to get wrong, to disastrous consequences (one writer waiting forever for readers to go away, writers taking too long, deadlocks) - so I tend to advise students against it unless they REALLY need it. I increasingly just use an actor in async!
中文

@flaneur2023 😁什么时候 cursor 可以用 steam 下载。毕竟什么 blender,rpg maker,obs 都能用 steam 下载。
中文

@0xLogicLog 确实,用rust写了一遍后,基本上有一个每个task直接owner数据不和别的线分享,和外界通信都是队列或者定期同步,不太需要锁,除非要求非常低的延迟。
中文

研究量化系统架构 (vnpy/nautilus trader),完全打破了我对「高性能」的刻板印象。我原以为用 Actor 模式,异步消息满天飞,追求极致并发;而真相是主流策略端几乎全是单线程事件循环。Tick -> Snapshot -> account,position->Strategy,同步执行,朴实无华。核心看起来像个简单的 while 循环。
原来吞吐量和延迟不是一个东西。中频的程序延迟能做到亚毫秒,事件同步处理,总线只是函数注册表,事件会同步更新cache后,进入策略同步计算因子。
但我也理解了,数据隔离的设计会带来内存复制、互斥锁、上下文切换,而单线程直接是函数压栈,数据在CPU缓存里。
更进一步的做法,是多线程流水线,绑核。一个核专收行情,通过无锁队列传给另一个核专跑策略。惊讶地发现,这与 @Solana 的 TPU 节点设计异曲同工,将交易处理流水线化。
中文



