film42 / sidekiq-rs

A port of sidekiq to rust using tokio
MIT License
95 stars 10 forks source link

Round of perf optimization #24

Open film42 opened 1 year ago

film42 commented 1 year ago

This library is in a really good place, but I'm always interested in making it faster. If you have experience optimizing rust code, please take a look at this repo. We do a lot of Arc cloning and data copies through the worker flow. I'm sure there are some good ways to clean that up. If you're interested, take a stab and open a PR! <3

jondot commented 8 months ago

Hi @film42 i'm just evaluating this lib. I can tell you that for your typical background jobs, the optimizations you're looking for aren't needed at this point, both from Rust's point of view, the workloads expected, and being familiar with background job frameworks that I've built myself in the past.

film42 commented 8 months ago

Thanks for evaluating the lib, @jondot ! Let me know if you have any suggestions. I agree that throughput is 👌, but once async traits become stable (hopefully by end of year) I expect a little more throughput and maybe even fewer calls to .clone() which will be nice. But, as you said, for most background job workloads, this library is already in a great place.