performance

2 posts

Circuit breaker без goroutine, таймеров и фоновой нагрузки

Большинство библиотек circuit breaker порождают фоновые потоки для проверки восстановления. Они вам не нужны. Вот request-driven дизайн, который устраняет всю фоновую нагрузку без потери корректности.

Каждый production circuit breaker, который я рассматривал, рано или поздно порождает фоновый поток. Это может быть Go goroutine, Java или Rust tokio task.…

Runtime contracts в Rust могут быть бесплатными в релизных сборках, но компилятор не сделает это за вас

Rust автоматически удаляет debug assertions, но настоящий design-by-contract требует большего, чем debug_assert!. Вот как построить zero-cost runtime contracts, которые исчезают из вашего релизного бинарника.

Rust может enforce runtime contracts в development и полностью стирать их из релизных сборок. Оговорка в том, что язык не рассматривает contracts как…