본문으로 건너뛰기
cccskills
무료GitHub에 공개

principle-design-for-throughput

Apply when designing, implementing or reviewing NeoHaskell framework data structures, service flows, concurrency, storage, codecs or generated APIs. Design toward a hypothetical 50,000 requests per second with explicit cost and workload assumptions; distinguish design reasoning from measured performance.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

neohaskell/NeoHaskell스타 348(GitHub 348 + cccskills 0)

실행 점수 미검증

설치 방법 보기

포함된 파일(1)

  • SKILL.md4.3 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Design for Throughput

Use 50,000 requests per second as a hypothetical design workload for framework service flows. Choose efficient structures, ownership and defaults while shaping the design. State assumptions about request mix, payloads, history/state size, hot keys and deployment resources; do not silently turn an aggregate target into a per-core or per-service capacity claim. The target guides architecture. It does not require a benchmark at that load, promise achieved capacity or impose fixed per-stage latency budgets.

  1. Account for the complete operation. Trace the path the caller waits for: context/authorization, fetch or replay, decision execution, encoding, append and any promised downstream visibility. Distinguish accepted, queued, persisted and visible outcomes. Identify repeated work, allocations, copying, scans, round trips, critical sections and retained state; describe how costs grow with workload dimensions. Keep rough estimates labeled with their assumptions. Do not infer request latency by taking the reciprocal of the throughput target.
  2. Match structure to access. Choose indexes, incremental state, snapshots, batching or reused setup where their semantics and access patterns justify them. A page limit after materializing all rows still performs the scan. Keep pure transformations clear and put reusable dependencies/setup in the owning service's lifecycle. Avoid repeated codec round trips and rebuilding invariant work per request. Do not add speculative caches, distribution or sharding without naming their lifetime, invalidation, ordering and consistency costs.
  3. Make concurrency and overload explicit. Identify the invariant and the contention domain before choosing the existing NeoHaskell concurrency module. Ask which operations can proceed independently and which require ordering; a faster shared collection does not remove a transactional invariant. Bound pending work, memory and concurrency at their owner, with an admission/backpressure or rejection policy and cancellation/cleanup. A stream or asynchronous API does not by itself establish bounded resources. Treat key skew, bursts, slow storage and retries as workload dimensions. Retain Security by Construction and the promised durability semantics while reducing cost.
  4. Inspect Haskell's actual work. Read wrapper implementations, compiler/build flags and demand behavior. Count required evaluation of pure values, executed Task/decision effects, codec paths and allocation/GC costs. Check what a strict container or fold already guarantees, and what it does not. Inspect the actual encoding path rather than assuming handwritten, Generic or Template Haskell generation is faster. Choose INLINE, INLINABLE, SPECIALIZE, UNPACK or stricter evaluation only for a specific demonstrated mechanism; avoid blanket pragma/strictness rules. Include consumer compilation, splice/instance work and generated-code size when the design shifts cost onto user builds.
  5. Separate the design case from the measured result. Explain why the chosen shape avoids a named scaling bottleneck and what uncertainty remains. Design reasoning can justify a choice before implementation; an achieved rate or speedup needs appropriate measurements under Benchmark Checklist. Use proportionate focused, whole-flow or consumer-build evidence for the claim, not a mandatory 50,000-RPS run. Do not import unverified absolute budgets or make speculative micro-optimizations override correctness and maintainability.

Architect candidates and code reviews should expose the relevant cost model, limiting shared resource and accepted tradeoffs alongside the type/service sketch. Keep the reasoning concise for changes without a throughput-sensitive path; compiler/toolchain work uses its own build-cost dimensions. The framework should carry efficient, secure defaults so downstream users need fewer tuning knobs.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

architect

무료

Sketch types, signatures, and module structure before code, then stay in the loop while implementation fills in. Use for /architect, 'architect this', 'design this', or non-trivial work where jumping to code would lock in the wrong shape.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

neohaskell/NeoHaskell3482026년 10월 26일 업데이트

arena

무료

Spawn N parallel candidates at the same task, pick a base, graft the strongest parts of the losers into it. Use for /arena, 'arena this', 'throw it in the arena', or when one attempt at a non-trivial artifact would lock in the wrong shape.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

neohaskell/NeoHaskell3482026년 10월 26일 업데이트

babysit

무료

Inspect or supervise a PR or stack through review and CI to merge-ready, using current GitHub evidence and the requested mode.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

neohaskell/NeoHaskell3482026년 10월 26일 업데이트

Vet a perf measurement (limiter, tuning, limits, errors, repeatability, relevance, and whether the work happened) before you report or act on it. Use when you benchmark or report a measured speedup or regression, including complete framework flows and compilation of projects that consume the framework.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

neohaskell/NeoHaskell3482026년 10월 26일 업데이트

bro

무료

Restate the last message in plain human language, with no jargon.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

neohaskell/NeoHaskell3482026년 10월 26일 업데이트

Build or adapt a local harness to drive, inspect, and profile an interactive CLI or TUI without external services. Use for CLI UX checks, startup regressions, memory leaks, hangs, prompt flows, or terminal demos.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

neohaskell/NeoHaskell3482026년 10월 26일 업데이트

neohaskell의 스킬 모두 보기

이 스킬의 문제 신고