Skip to content

Conversation

@ashvardanian
Copy link
Owner

@ashvardanian ashvardanian commented Oct 11, 2025

  • Zig binding 🥳
  • Fixed exception-free builds w/out __cpp_exceptions
  • Fixed misaligned state allocation in the shared library
  • C 11 tests with GCC nested functions & Clang blocks
  • Allow thread-aware micro_yield(thread_id) use

Thanks to @steeve from @zml for the inspiration to look into Zig and to @guillaumeriousat for C++ extensions 🤗

Things currently under consideration:

  • Using generation-based expiration handles for simultaneous submissions to different pools with exclusive states

ashvardanian and others added 28 commits October 9, 2025 21:49
Previously, with dynamic distribution the
benchmark was taking too long
Worker threads now invoke user-supplied `code worker_yield_t::operator()(index_type)` between jobs so real-time audio workloads can tier `code micro_yield()` before falling back to sleeps.
Default worker path now delegates to the configured `code micro_yield_t` instead of hardwiring `code std::this_thread::yield()`, keeping custom wait strategies effective.
Drops the extra template parameter by using `code if constexpr` so worker threads hand their index to `code worker_yield_t` only when that overload exists.
Co-authored-by: Guillaume Riou <griou@sat.qc.ca>
Co-authored-by: Guillaume Riou <117857232+guillaumeriousat@users.noreply.github.com>
The package and its dependencies are outdated.
They don't list compatible Zig versions and the
builds fail even on 0.15.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants