Skip to content

Multithreading assessment - #30

Merged
leynos merged 5 commits into
mainfrom
multithreading-assessment
Feb 5, 2026
Merged

Multithreading assessment#30
leynos merged 5 commits into
mainfrom
multithreading-assessment

Conversation

@leynos

@leynos leynos commented Feb 5, 2026

Copy link
Copy Markdown
Owner

No description provided.

Replace serial file/diagram validation with a bounded concurrent\nscheduler that preserves deterministic output ordering.\n\nAdd global diagram task ordinals, ordered emission, and max-concurrency\nclamping to max(1, cpu_count - 1).\n\nExpand coverage with unit, integration, and pytest-bdd scenarios for\nout-of-order completion, concurrency caps, and error handling.\n\nAdd performance benchmarking support with hyperfine and copied fixture\ndocument sets.\n\nUpdate Python requirement to 3.14, document the new design, and align\nREADME/CHANGELOG with runtime behavior.
Mark the execution plan complete and record final outcomes,\nbenchmark observations, and documentation-gate scoping decisions.
Use npx for markdownlint and uv run for nixie so markdown quality\ngates run without globally installed binaries.

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry, we are unable to review this pull request

The GitHub API does not allow us to fetch diffs exceeding 20000 lines

@leynos
leynos merged commit 68240ea into main Feb 5, 2026

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: b2c5f96108

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread nixie/cli.py
Comment on lines +800 to +804
running_tasks = [
asyncio.create_task(
_run_diagram_task(
task,
cfg_path,

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Avoid creating a task for every diagram upfront

This eagerly materializes one asyncio.Task per diagram before any results are consumed, so repositories with many Mermaid blocks can allocate a very large number of pending tasks and associated state at once. The semaphore only limits how many tasks enter _run_diagram_task concurrently; it does not bound total queued tasks, so --max-concurrency no longer caps overall memory/scheduling pressure and large runs can become memory-heavy or unstable.

Useful? React with 👍 / 👎.

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