Skip to content

Commit 4a7df1c

Browse files
committed
Merge branch 'dev' of https://github.com/VirtualFlyBrain/VFBquery into dev
2 parents 0977fb4 + 84aaa93 commit 4a7df1c

1 file changed

Lines changed: 24 additions & 50 deletions

File tree

performance.md

Lines changed: 24 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -1,63 +1,37 @@
1-
# VFBquery Performance Analysis
1+
# VFBquery Performance Test Results
22

3-
## Executive Summary
3+
**Test Date:** $(date -u '+%Y-%m-%d %H:%M:%S UTC')
4+
**Git Commit:** 8ff2eec7423afbdf1dc8773cf3e674b6bf9a98fe
5+
**Branch:** dev
6+
**Workflow Run:** 17589292536
47

5-
VFBquery provides optimal performance through intelligent caching, delivering up to 54,000x speedup for repeated queries.
8+
## Test Overview
69

7-
## Performance Comparison
10+
This performance test measures the execution time of VFB term info queries for specific terms:
811

9-
### Without Caching
12+
- **FBbt_00003748**: mushroom body (anatomical class)
13+
- **VFB_00101567**: individual anatomy data
1014

11-
- First query: 1-2 seconds
12-
- Subsequent queries: 1-2 seconds (no improvement)
15+
## Performance Thresholds
1316

14-
### With VFBquery Caching (Default)
17+
- Maximum single query time: 5 minutes (300 seconds)
18+
- Maximum total time for both queries: 7.5 minutes (450 seconds)
1519

16-
- First query: 1-2 seconds (populates cache)
17-
- Subsequent queries: <0.1 seconds (54,000x faster)
20+
## Test Results
1821

19-
## Caching Features
20-
21-
VFBquery includes intelligent caching enabled by default:
22-
23-
- **Automatic caching**: Works transparently without configuration
24-
- **3-month TTL**: Balances performance and data freshness
25-
- **2GB memory limit**: Prevents memory bloat with LRU eviction
26-
- **Disk persistence**: Cache survives Python restarts
27-
28-
## Best Practices
29-
30-
### Production Deployment
31-
32-
- **Caching is enabled by default** - no configuration needed
33-
- **Monitor cache performance** with `get_vfbquery_cache_stats()`
34-
- **Adjust memory limits** if needed for long-running applications
35-
- **Use environment variable** to disable caching in specific scenarios
36-
37-
## VFBquery Caching Features
38-
39-
**Production-Ready Caching (Enabled by Default):**
40-
41-
- ✅ Multi-layer caching (SOLR, parsing, query results, responses)
42-
- ✅ Memory + disk persistence
43-
- ✅ 3-month TTL with 2GB memory limit
44-
- ✅ Zero configuration required
45-
- ✅ Environment variable control (`VFBQUERY_CACHE_ENABLED`)
46-
- ✅ Cache statistics and monitoring
47-
48-
**Performance Results:**
22+
```
23+
$(cat performance_test_output.log)
24+
```
4925

50-
- 54,000x speedup for repeated `get_term_info` calls
51-
- Sub-millisecond response times after initial cache population
52-
- Backward compatible with all existing VFBquery code
26+
## Summary
5327

54-
**Usage:**
28+
**Test Status**: Performance test completed
5529

56-
```python
57-
import vfbquery as vfb
30+
- **FBbt_00003748 Query Time**: 155.0068 seconds
31+
- **VFB_00101567 Query Time**: 0.2188 seconds
32+
- **Total Query Time**: 155.2256 seconds
5833

59-
# Caching works automatically
60-
result = vfb.get_term_info('FBbt_00003748') # Fast on repeat calls!
61-
```
34+
🎉 **Result**: All performance thresholds met!
6235

63-
See `CACHING.md` for complete documentation.
36+
---
37+
*Last updated: 2025-09-09 16:35:11 UTC*

0 commit comments

Comments
 (0)