Welcome to VecturaKit's documentation hub. This directory contains comprehensive guides for understanding and using VecturaKit's features.
Purpose: Learn about VecturaKit's memory management strategies
Topics Covered:
- Memory strategy options (automatic, fullMemory, indexed)
- When to use each strategy
- Configuration examples
IndexedVecturaStorageprotocol implementation- Performance considerations for large-scale datasets
Target Audience: Developers integrating VecturaKit
When to Read:
- Setting up VecturaKit for the first time
- Choosing the right memory strategy
- Working with large datasets (> 10K documents)
- Implementing custom storage providers
Purpose: Understand VecturaKit's performance characteristics
Topics Covered:
- Benchmark results for different strategies
- Performance metrics (latency, memory, throughput)
- Scaling characteristics
- Parameter tuning recommendations
- Platform-specific considerations
Target Audience: Users evaluating VecturaKit, developers optimizing performance
When to Read:
- Evaluating VecturaKit for your use case
- Understanding expected performance
- Choosing optimal configurations
- Planning for dataset growth
Quick Facts:
- Search Latency (1K docs): ~10ms average, <12ms P99
- Memory Usage: ~180-200 KB per document (fullMemory mode)
- Initialization: Sub-millisecond
- Tested on: Apple Silicon (M-series), macOS 14.0+
- Getting Started: See Main README
- Choose Memory Strategy: Read Indexed Storage Guide
- Understand Performance: Review Test Results
- Memory Strategies: Indexed Storage Guide
- Performance Testing: Tests/PerformanceTests/
- Test Results: Performance
- Performance Overview: Test Results Summary
- Scaling Capabilities: See "Scaling Characteristics" section in test results
- Platform Support: Check Main README
Docs/
├── README.md # This file - Documentation index
├── INDEXED_STORAGE_GUIDE.md # Memory strategy implementation guide
└── TEST_RESULTS_SUMMARY.md # Detailed performance test results
Additional Resources:
- Performance Tests: Tests/PerformanceTests/ - Run your own benchmarks
- Main README: ../README.md - Project overview and quick start
- Examples: Sources/TestExamples/, Sources/TestNLExamples/, and Sources/TestOAIExamples/ - Sample code
Q: How do I choose between fullMemory and indexed mode? → Indexed Storage Guide - See "Choosing a Memory Strategy"
Q: How much memory will VecturaKit use? → Performance Results - See "Memory Usage" section
Q: Can VecturaKit handle 100K documents? → Indexed Storage Guide + Performance Results
Q: How fast is search? → Performance Results - See benchmark data
Q: How do I optimize for my use case? → Performance Results - See "Parameter Tuning" section
Q: What are the scaling characteristics? → Performance Results - See "Scaling Characteristics"
Q: How do I implement IndexedVecturaStorage? → Indexed Storage Guide - See implementation examples
Q: How do I run performance tests? → Tests/PerformanceTests/
Q: What are best practices? → Indexed Storage Guide + Performance Results
Quick reference for VecturaKit's performance (fullMemory mode, 1K documents):
| Metric | Value |
|---|---|
| Search Latency (P99) | < 12 ms |
| Initialization | < 1 ms |
| Memory per Document | ~180-200 KB |
| Document Addition | 150-200 docs/sec |
Platform: Apple Silicon (M-series), macOS 14.0+
See full test results for detailed benchmarks.
- Keep docs up-to-date: Update after significant changes
- User-focused: Write for users, not just developers
- Examples: Include code examples where helpful
- Accuracy: Verify technical details before publishing
- Create new
.mdfile in appropriate location - Update this README.md to include it
- Add cross-references from related docs
- Test all code examples
- GitHub Repository: VecturaKit
- Issues & Discussions: GitHub Issues
- Swift Package Index: VecturaKit on SwiftPM
Last Updated: 2025-10-30 Documentation Version: 2.0