# dkssvp/day29_system_optimizations architecture

> Architecture diagram of the GitHub repository dkssvp/day29_system_optimizations, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-11). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/dkssvp/day29_system_optimizations
- Repository: https://github.com/dkssvp/day29_system_optimizations

## Overview

This repository contains a real-time audio/video capture benchmark, with baseline and optimized implementations. In the visible optimized workflow, capture workers read camera frames and audio chunks, queue them for separate writers, and track latency, drop, and processing metrics. The excerpt shows queueing and processing details, but not the complete startup, shutdown, or baseline implementation; those relationships are therefore omitted where they cannot be verified.

Main entry points: [`optimized/main.py`](https://github.com/dkssvp/day29_system_optimizations/blob/main/optimized/main.py) (Video capture)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_capture["Capture"]
  node_baseline["Baseline runner<br/>[main.py]"]
  node_optimized["Optimized runner<br/>[main.py]"]
  node_video_capture["Video capture<br/>[main.py]"]
  node_audio_capture["Audio capture<br/>[main.py]"]
end

subgraph group_processing["Processing"]
  node_video_queue["Video queue<br/>[main.py]"]
  node_audio_queue["Audio queue<br/>[main.py]"]
  node_video_processing["Video processing<br/>[main.py]"]
  node_audio_processing["Audio processing<br/>[main.py]"]
  node_video_output["Video recording"]
  node_audio_output["Audio recording"]
end

subgraph group_evaluation["Evaluation"]
  node_metrics["Performance metrics<br/>[main.py]"]
end

node_user(("Operator"))
node_camera["Camera"]
node_microphone["Audio input"]

node_user -.->|"starts run"| node_optimized
node_camera -->|"provides frames"| node_video_capture
node_microphone -->|"provides audio"| node_audio_capture
node_optimized -->|"starts worker"| node_video_capture
node_optimized -->|"starts worker"| node_audio_capture
node_video_capture -->|"enqueues frames"| node_video_queue
node_audio_capture -->|"enqueues chunks"| node_audio_queue
node_video_processing -->|"dequeues frames"| node_video_queue
node_audio_processing -->|"dequeues chunks"| node_audio_queue
node_video_processing -->|"writes frames"| node_video_output
node_audio_processing -->|"writes chunks"| node_audio_output
node_video_capture -->|"updates counts"| node_metrics
node_audio_capture -->|"updates counts"| node_metrics
node_video_processing -->|"records timing"| node_metrics
node_audio_processing -->|"records timing"| node_metrics

click node_baseline "https://github.com/dkssvp/day29_system_optimizations/blob/main/baseline/main.py"
click node_optimized "https://github.com/dkssvp/day29_system_optimizations/blob/main/optimized/main.py"
click node_video_capture "https://github.com/dkssvp/day29_system_optimizations/blob/main/optimized/main.py"
click node_audio_capture "https://github.com/dkssvp/day29_system_optimizations/blob/main/optimized/main.py"
click node_video_queue "https://github.com/dkssvp/day29_system_optimizations/blob/main/optimized/main.py"
click node_audio_queue "https://github.com/dkssvp/day29_system_optimizations/blob/main/optimized/main.py"
click node_video_processing "https://github.com/dkssvp/day29_system_optimizations/blob/main/optimized/main.py"
click node_audio_processing "https://github.com/dkssvp/day29_system_optimizations/blob/main/optimized/main.py"
click node_metrics "https://github.com/dkssvp/day29_system_optimizations/blob/main/optimized/main.py"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_baseline,node_optimized,node_video_capture,node_audio_capture toneBlue
class node_video_queue,node_audio_queue,node_video_processing,node_audio_processing,node_video_output,node_audio_output toneAmber
class node_metrics toneMint
class node_user,node_camera,node_microphone toneIndigo
```

## Components

### Capture

- [Baseline runner](https://github.com/dkssvp/day29_system_optimizations/blob/main/baseline/main.py): `baseline/main.py`
- [Optimized runner](https://github.com/dkssvp/day29_system_optimizations/blob/main/optimized/main.py): `optimized/main.py`
- [Video capture](https://github.com/dkssvp/day29_system_optimizations/blob/main/optimized/main.py): `optimized/main.py`
- [Audio capture](https://github.com/dkssvp/day29_system_optimizations/blob/main/optimized/main.py): `optimized/main.py`

### Processing

- [Video queue](https://github.com/dkssvp/day29_system_optimizations/blob/main/optimized/main.py): `optimized/main.py`
- [Audio queue](https://github.com/dkssvp/day29_system_optimizations/blob/main/optimized/main.py): `optimized/main.py`
- [Video processing](https://github.com/dkssvp/day29_system_optimizations/blob/main/optimized/main.py): `optimized/main.py`
- [Audio processing](https://github.com/dkssvp/day29_system_optimizations/blob/main/optimized/main.py): `optimized/main.py`
- **Video recording**
- **Audio recording**

### Evaluation

- [Performance metrics](https://github.com/dkssvp/day29_system_optimizations/blob/main/optimized/main.py): `optimized/main.py`

### Other components

- **Operator**
- **Camera**
- **Audio input**

## Connections

- Operator → Optimized runner: starts run
- Camera → Video capture: provides frames (evidence: `optimized/main.py`)
- Audio input → Audio capture: provides audio (evidence: `optimized/main.py`)
- Optimized runner → Video capture: starts worker (evidence: `optimized/main.py`)
- Optimized runner → Audio capture: starts worker (evidence: `optimized/main.py`)
- Video capture → Video queue: enqueues frames (evidence: `optimized/main.py`)
- Audio capture → Audio queue: enqueues chunks (evidence: `optimized/main.py`)
- Video processing → Video queue: dequeues frames (evidence: `optimized/main.py`)
- Audio processing → Audio queue: dequeues chunks (evidence: `optimized/main.py`)
- Video processing → Video recording: writes frames (evidence: `optimized/main.py`)
- Audio processing → Audio recording: writes chunks (evidence: `optimized/main.py`)
- Video capture → Performance metrics: updates counts (evidence: `optimized/main.py`)
- Audio capture → Performance metrics: updates counts (evidence: `optimized/main.py`)
- Video processing → Performance metrics: records timing (evidence: `optimized/main.py`)
- Audio processing → Performance metrics: records timing (evidence: `optimized/main.py`)
