-
Notifications
You must be signed in to change notification settings - Fork 375
feat: Migrate NATS Queue to Rust (#669) #961
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
d085638
to
b5bb564
Compare
Thanks for taking this task and nice work! |
b5bb564
to
74f3774
Compare
For now, there aren't any benchmarks. It looks like the python msgpack using cpython bindings, so I wouldn't expect it to be too much slower than a rust implementation, but it certainly has the potential to be a bottleneck on long context. I'll make a follow-on MR to investigate doing the serialization/deserialization in Rust. |
@jthomson04 Do the messages need to be ACKed when taken off the queue? Details in
|
Yes, they're acked: dynamo/lib/runtime/src/transports/nats.rs Line 460 in 889ab67
|
Darn. That means the ACK is not sufficient to take them off the queue. |
Overview:
Migrate the NATS queue in
examples/llm/utils/nats_queue.py
from Python to RustDetails:
lib/runtime/transports/nats.rs
examples/llm
example to use this new rust-based queuelib/bindings
Related Issues: