Skip to content

Refresh concurrency docs for async NIF dispatch - #49

Merged
ausimian merged 1 commit into
mainfrom
docs-async-worker
Apr 19, 2026
Merged

Refresh concurrency docs for async NIF dispatch#49
ausimian merged 1 commit into
mainfrom
docs-async-worker

Conversation

@ausimian

@ausimian ausimian commented Apr 19, 2026

Copy link
Copy Markdown
Owner

Summary

  • README Concurrency model section now describes the async enif_send transport instead of the old run_sync promise: NIFs enqueue on the worker and return immediately; no scheduler (regular or dirty) blocks on MLX. The CommandEncoder-consistency note is split into its own paragraph so the flow of the section stays readable.
  • CHANGELOG worker-thread-dispatch bullet in the unreleased 0.1.0 entry rewritten to match — dropping the "promise/future" framing that hasn't been true since Phase 1: async substrate + eval canary #41.
  • Emily.Stream, Emily.Compiler, and the notebook moduledocs already describe per-process queues without reference to the sync/async transport, so they read correctly under the new model and were left alone.

Triggered by PRs #41 #42 #43 (async-worker migration) where the docs were not updated alongside the code change.

Test plan

  • mix precommit (docs-only diff, full suite still green)
  • Manual read-through of rendered README on the PR page

After the Phase 1-3 async-worker migration (#41-#43), NIFs no longer
block a scheduler on a sync promise — they enqueue on the worker and
the public wrapper awaits a reply via enif_send. Update the README
Concurrency model section and the CHANGELOG worker-thread-dispatch
bullet so they describe the shipping behaviour.
@ausimian
ausimian merged commit 7ac3409 into main Apr 19, 2026
2 checks passed
@ausimian
ausimian deleted the docs-async-worker branch April 19, 2026 03:23
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.

1 participant