---
name: Performance
slug: performance-4
category: Quality
description: Performance provides guidelines for optimizing Splitrail code. Use it when improving parsing, reducing memory usage, or increasing throughput.
github: "https://github.com/Piebald-AI/splitrail/tree/main/.claude/skills/performance"
language: Rust
stars: 217
forks: 25
install: "npx degit https://github.com/Piebald-AI/splitrail/tree/main/.claude/skills/performance ~/.claude/skills/performance"
installs_to: ~/.claude/skills/performance
source_path: .claude/skills/performance/SKILL.md
collection_size: 6
category_size: 1557
collection_url: "https://dirskills.com/collections/Piebald-AI/splitrail"
added: 2026-09-04T05:25:26.939Z
last_synced: 2026-09-04T05:25:26.939Z
canonical_url: "https://dirskills.com/skills/performance-4"
---

# Performance

Performance provides guidelines for optimizing Splitrail code. Use it when improving parsing, reducing memory usage, or increasing throughput.

**Install:**

```bash
npx degit https://github.com/Piebald-AI/splitrail/tree/main/.claude/skills/performance ~/.claude/skills/performance
```

## README

# Performance Considerations

## Techniques Used

- **Parallel analyzer loading** - `futures::join_all()` for concurrent stats loading
- **Parallel file parsing** - `rayon` for parallel iteration over files
- **Fast JSON parsing** - `simd_json` exclusively for all JSON operations (note: `rmcp` crate re-exports `serde_json` for MCP server types)
- **Fast directory walking** - `jwalk` for parallel directory traversal
- **Lazy message loading** - TUI loads messages on-demand for session view

See existing analyzers in `src/analyzers/` for usage patterns.

## Guidelines

1. Prefer parallel processing for I/O-bound operations
2. Use `parking_lot` locks over `std::sync` for better performance
3. Avoid loading all messages into memory when not needed
4. Use `BTreeMap` for date-ordered data (sorted iteration)
