#prog #rust #rustasync #article
Efficient indexing with Quickwit Rust actor framework
Или немного о том, почему разработчики Quickwit решили реализовать свой акторный фреймворк. Также в тексте есть ссылка на статью Actors with Tokio, которая описывает, как создавать свои акторы, имея асинхронный рантайм, и показывает некоторые частые ошибки при подобном наивном подходе.
Efficient indexing with Quickwit Rust actor framework
Или немного о том, почему разработчики Quickwit решили реализовать свой акторный фреймворк. Также в тексте есть ссылка на статью Actors with Tokio, которая описывает, как создавать свои акторы, имея асинхронный рантайм, и показывает некоторые частые ошибки при подобном наивном подходе.
quickwit.io
Efficient indexing with Quickwit Rust actor framework
At Quickwit, we are building the most cost-efficient search engine for logs and traces. Such an engine typically ingests massive amounts of data while serving a comparatively low number of search queries. Under this workload, most of your CPU is spent on…
👍10
Блог*
#prog #rust #rustasync #article How (and why) nextest uses tokio, part 1 Или хороший пример того, как async может пригодиться в программе, которая вообще никак не связана с общением по сети.
#prog #rust #rustasync #article
Using Rustlang's Async Tokio Runtime for CPU-Bound Tasks
Да, это возможно и в этом есть смысл. Описываемый подход используется в InfluxDB, а InfluxDB используется в проде.
Using Rustlang's Async Tokio Runtime for CPU-Bound Tasks
Да, это возможно и в этом есть смысл. Описываемый подход используется в InfluxDB, а InfluxDB используется в проде.
InfluxData
%%title%% | InfluxData | InfluxData
This blog post argues that the Tokio runtime at the heart of the Rust async ecosystem is a good choice for CPU-heavy jobs.
👍3
#prog #rust #article
Writing Code with ChatGPT? Improve it with Kani
<...> The experiments we did include the following three tasks:
1. Writing a prompt to generate unverified code with ChatGPT.
2. Checking the generated code with Kani to see if it’s correct.
3. Using ChatGPT and Kani iteratively to converge to code that passes verification.
И вот последнее выглядит неимоверно впечатляюще.
Writing Code with ChatGPT? Improve it with Kani
<...> The experiments we did include the following three tasks:
1. Writing a prompt to generate unverified code with ChatGPT.
2. Checking the generated code with Kani to see if it’s correct.
3. Using ChatGPT and Kani iteratively to converge to code that passes verification.
И вот последнее выглядит неимоверно впечатляюще.
Kani Rust Verifier Blog
Writing Code with ChatGPT? Improve it with Kani.
Kani is a verification tool that can help you prove properties about your Rust code. To learn more about Kani, check out the Kani tutorial and our previous blog posts.
👍5
#article
The Vicious Circle of Documentation
Ever worked at a company (or on a codebase, or whatever) where it seemed like, no matter what the question was, the answer was written down somewhere you could easily find it? Most people haven’t, sadly, but they do exist, and I can assure you that it is an absolute pleasure.
On the other hand, practically everyone has experienced completely undocumented systems and processes, where knowledge is shared by word-of-mouth, or lost every time someone quits.
Why are there so many more undocumented systems than documented ones out there, and how can we cause more well-documented systems to exist? The answer isn’t “people are lazy”, and the solution is simple – though not easy.
The Vicious Circle of Documentation
Ever worked at a company (or on a codebase, or whatever) where it seemed like, no matter what the question was, the answer was written down somewhere you could easily find it? Most people haven’t, sadly, but they do exist, and I can assure you that it is an absolute pleasure.
On the other hand, practically everyone has experienced completely undocumented systems and processes, where knowledge is shared by word-of-mouth, or lost every time someone quits.
Why are there so many more undocumented systems than documented ones out there, and how can we cause more well-documented systems to exist? The answer isn’t “people are lazy”, and the solution is simple – though not easy.
#prog #rust #article
Fast(er) binary search in Rust
В принципе, применимо далеко не только к Rust, за вычетом трюков с префетчингом.
Спойлер: обогнать binary_search из std возможно, уменьшив количество бранчей и лучше утилизируя кеш, но это требует определённой подготовки данных (помимо сортировки).
Fast(er) binary search in Rust
В принципе, применимо далеко не только к Rust, за вычетом трюков с префетчингом.
Спойлер: обогнать binary_search из std возможно, уменьшив количество бранчей и лучше утилизируя кеш, но это требует определённой подготовки данных (помимо сортировки).
bazhenov.me
Fast(er) binary search in Rust
Introducton Link to heading Binary search is a very fast algorithm. Due to its exponential nature, it can process gigabytes of sorted data quickly. However, two problems make it somewhat challenging for modern CPUs:
predictability of instruction flow; predictability…
predictability of instruction flow; predictability…
👍6