Skip to content

docs(adr): add ADR-002 for typed_pool evaluation - resolves #354#357

Merged
kcenon merged 1 commit into
mainfrom
refactor/simplify-typed-pool-hierarchy
Dec 30, 2025
Merged

docs(adr): add ADR-002 for typed_pool evaluation - resolves #354#357
kcenon merged 1 commit into
mainfrom
refactor/simplify-typed-pool-hierarchy

Conversation

@kcenon

@kcenon kcenon commented Dec 30, 2025

Copy link
Copy Markdown
Owner

Summary

Analysis Findings

typed_pool Provides Distinct Value

Feature thread_pool typed_thread_pool_t
Scheduling FIFO Priority-based
Job Priority Not supported Template parameter
Worker Specialization All workers handle all jobs Workers can be assigned specific priorities
Work Stealing Supported Not implemented

Decision Rationale

  1. Distinct Purpose: typed_pool provides priority-based scheduling that cannot be replicated by thread_pool
  2. No Code Duplication: Independent implementations for different scheduling behaviors
  3. Active Usage: Tests, examples, and benchmarks demonstrate real-world usage
  4. Type Safety: Template-based priorities provide compile-time guarantees

Changes

  • docs/adr/ADR-002-typed-pool-evaluation.md: New ADR documenting the analysis and decision
  • docs/FEATURES.md: Add "Choosing Between Thread Pools" comparison section
  • docs/FEATURES_KO.md: Korean translation of the comparison section

Test plan

  • Documentation builds correctly
  • No code changes, existing tests remain valid
  • ADR follows established format from ADR-001

Closes #354

Analysis and decision regarding Issue #354:
- Evaluated typed_pool template hierarchy for Simple Design compliance
- Decision: Keep typed_pool with improved documentation (Option A)

Rationale:
- typed_pool provides priority-based scheduling, distinct from thread_pool
- No significant code duplication between hierarchies
- Template-based priorities offer compile-time type safety
- Active usage in tests, examples, and benchmarks

Documentation updates:
- Add "Choosing Between Thread Pools" comparison section
- Document when to use each implementation
- Add feature comparison table

Resolves #354
@github-actions

Copy link
Copy Markdown
Contributor

📊 Performance Benchmark Results

Performance Benchmark Report

No benchmark data available.

ℹ️ No baseline reference available

This is the first benchmark run or baseline file is missing.

@kcenon kcenon merged commit 1cd22d6 into main Dec 30, 2025
26 checks passed
@kcenon kcenon deleted the refactor/simplify-typed-pool-hierarchy branch December 30, 2025 18:12
kcenon added a commit that referenced this pull request Apr 13, 2026
Analysis and decision regarding Issue #354:
- Evaluated typed_pool template hierarchy for Simple Design compliance
- Decision: Keep typed_pool with improved documentation (Option A)

Rationale:
- typed_pool provides priority-based scheduling, distinct from thread_pool
- No significant code duplication between hierarchies
- Template-based priorities offer compile-time type safety
- Active usage in tests, examples, and benchmarks

Documentation updates:
- Add "Choosing Between Thread Pools" comparison section
- Document when to use each implementation
- Add feature comparison table

Resolves #354
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.

[REFACTOR] Simplify typed_pool template hierarchy - Simple Design compliance

1 participant