Efficient indexing with Quickwit Rust actor framework
quickwit.io
quickwit.io
The goal of the framework is to build a data processing pipeline with relatively big tasks, we only have to process tens or hundreds of messages per seconds. Some are CPU intensive and can last 30 seconds. Other tasks are IO intensive.
We also send very few messages: the smallest message we send is represent batches of log lines.
As a result, our framework does not really care about performances. On one thread, it can process ~2.5 millions messages on my laptop: this is well above our needs, but it is correct to say that our framework is very slow compared to others.
Let me just tell you the limitations on Quickwit side: the framework is very bound to Quickwit code base right now and uses tokio runtimes to run the different kind of tasks.
We put the MIT licence so people can copy/paste pieces of code.
It's not mature enough and it will require some work to migrate it as we would need to clean some Quickwit dependencies. It was just easier to add the MIT licence directly in Quickwit directory to allow anyone to copy/paste the code.