Luigit
repositories / dotfiles

dotfiles

bugabingas dorkfiles

owned by admin

pi/agent/skills/optimize/references/architecture.md

Raw
Rendered preview

Architecture

system-level design issues causing performance problems.

Approach

  • understand holistically → components, data flow, communication
  • identify bottlenecks → serial vs parallel, tight coupling, unnecessary indirection
  • challenge assumptions → latency, throughput, reliability often misunderstood
  • redesign interfaces → batch, reduce round-trips, parallelize independent work

Patterns

  • serial → batched → processes one at a time; batch for latency/throughput
  • tight coupling → loosening → extract independent components to run parallel
  • sync → async → offload blocking to background workers
  • monolithic → modular → split for independent optimization + scaling

Example

client/server API serial (one request at a time) because latency/throughput not understood. fix: batch requests → amortize latency, increase throughput.

Pitfalls

  • over-architecting → don't redesign whole system for small gain
  • operational complexity → deployment, monitoring, debugging overhead
  • premature scale → optimize algorithm + implementation first
  • local metrics ≠ end-to-end latency → what users experience
# Architecture

system-level design issues causing performance problems.

## Approach

- understand holistically → components, data flow, communication
- identify bottlenecks → serial vs parallel, tight coupling, unnecessary indirection
- challenge assumptions → latency, throughput, reliability often misunderstood
- redesign interfaces → batch, reduce round-trips, parallelize independent work

## Patterns

- **serial → batched** → processes one at a time; batch for latency/throughput
- **tight coupling → loosening** → extract independent components to run parallel
- **sync → async** → offload blocking to background workers
- **monolithic → modular** → split for independent optimization + scaling

## Example

client/server API serial (one request at a time) because latency/throughput not understood. fix: batch requests → amortize latency, increase throughput.

## Pitfalls

- over-architecting → don't redesign whole system for small gain
- operational complexity → deployment, monitoring, debugging overhead
- premature scale → optimize algorithm + implementation first
- local metrics ≠ end-to-end latency → what users experience