diff --git a/performance.md b/performance.md index a54ec5e..3549c37 100644 --- a/performance.md +++ b/performance.md @@ -1,9 +1,9 @@ # VFBquery Performance Test Results -**Test Date:** 2025-11-17 15:13:18 UTC -**Git Commit:** 11dfec015a28877be7d5fbb7ee2dea5b2622de96 -**Branch:** main -**Workflow Run:** [19434403582](https://github.com/VirtualFlyBrain/VFBquery/actions/runs/19434403582) +**Test Date:** 2025-11-17 15:27:32 UTC +**Git Commit:** 500df8ee7434345403908a18a1bcce9329b1cb9b +**Branch:** dev +**Workflow Run:** [19434865525](https://github.com/VirtualFlyBrain/VFBquery/actions/runs/19434865525) ## Test Overview @@ -116,7 +116,7 @@ test_14_publication_transgene_queries (src.test.test_query_performance.QueryPerf Test publication and transgene queries ... ok ---------------------------------------------------------------------- -Ran 15 tests in 51.431s +Ran 15 tests in 45.859s OK VFBquery caching enabled: TTL=2160h (90 days), Memory=2048MB @@ -133,119 +133,119 @@ TERM INFO QUERIES DEBUG: Cache lookup for FBbt_00003748: MISS ✅ Neo4j connection established ✅ Neo4j connection established -get_term_info (mushroom body): 4.0424s ✅ +get_term_info (mushroom body): 3.1391s ✅ DEBUG: Cache lookup for VFB_00101567: MISS -get_term_info (individual): 3.9058s ✅ +get_term_info (individual): 2.3525s ✅ ================================================================================ NEURON PART OVERLAP QUERIES ================================================================================ -NeuronsPartHere: 1.1137s ✅ +NeuronsPartHere: 1.0766s ✅ ================================================================================ SYNAPTIC TERMINAL QUERIES ================================================================================ -NeuronsSynaptic: 1.1475s ✅ -NeuronsPresynapticHere: 0.9244s ✅ -NeuronsPostsynapticHere: 1.2074s ✅ -NeuronNeuronConnectivity: 0.9483s ✅ +NeuronsSynaptic: 0.8742s ✅ +NeuronsPresynapticHere: 0.8689s ✅ +NeuronsPostsynapticHere: 0.8088s ✅ +NeuronNeuronConnectivity: 0.8220s ✅ ================================================================================ ANATOMICAL HIERARCHY QUERIES ================================================================================ -ComponentsOf: 0.9205s ✅ -PartsOf: 0.9474s ✅ -SubclassesOf: 0.9204s ✅ +ComponentsOf: 0.6238s ✅ +PartsOf: 0.7023s ✅ +SubclassesOf: 0.7076s ✅ ================================================================================ TRACT/NERVE AND LINEAGE QUERIES ================================================================================ -NeuronClassesFasciculatingHere: 0.9221s ✅ -TractsNervesInnervatingHere: 0.9319s ✅ -LineageClonesIn: 0.9416s ✅ +NeuronClassesFasciculatingHere: 0.6327s ✅ +TractsNervesInnervatingHere: 0.7945s ✅ +LineageClonesIn: 0.6341s ✅ ================================================================================ IMAGE AND DEVELOPMENTAL QUERIES ================================================================================ -ImagesNeurons: 1.4024s ✅ -ImagesThatDevelopFrom: 0.9176s ✅ -epFrag: 0.9475s ✅ +ImagesNeurons: 1.1914s ✅ +ImagesThatDevelopFrom: 0.7237s ✅ +epFrag: 0.7073s ✅ ================================================================================ INSTANCE QUERIES ================================================================================ -ListAllAvailableImages: 0.9211s ✅ +ListAllAvailableImages: 0.6096s ✅ ================================================================================ CONNECTIVITY QUERIES ================================================================================ -NeuronNeuronConnectivityQuery: 0.9469s ✅ -NeuronRegionConnectivityQuery: 0.9423s ✅ +NeuronNeuronConnectivityQuery: 0.7327s ✅ +NeuronRegionConnectivityQuery: 0.6222s ✅ ================================================================================ SIMILARITY QUERIES (Neo4j NBLAST) ================================================================================ -SimilarMorphologyTo: 10.2807s ✅ +SimilarMorphologyTo: 11.4931s ✅ ================================================================================ NEURON INPUT QUERIES (Neo4j) ================================================================================ -NeuronInputsTo: 2.7593s ✅ +NeuronInputsTo: 2.8142s ✅ ================================================================================ EXPRESSION PATTERN QUERIES (Neo4j) ================================================================================ -ExpressionOverlapsHere: 0.8701s ✅ +ExpressionOverlapsHere: 0.7708s ✅ └─ Found 3922 total expression patterns, returned 10 ================================================================================ TRANSCRIPTOMICS QUERIES (Neo4j scRNAseq) ================================================================================ -anatScRNAseqQuery: 0.8912s ✅ +anatScRNAseqQuery: 0.6743s ✅ └─ Found 0 total clusters -clusterExpression: 0.7298s ✅ +clusterExpression: 0.5813s ✅ └─ Found 0 genes expressed -expressionCluster: 0.7272s ✅ +expressionCluster: 0.5980s ✅ └─ Found 0 clusters expressing gene -scRNAdatasetData: 0.7839s ✅ +scRNAdatasetData: 0.6593s ✅ └─ Found 0 clusters in dataset ================================================================================ NBLAST SIMILARITY QUERIES ================================================================================ -SimilarMorphologyTo: 1.0011s ✅ +SimilarMorphologyTo: 0.7738s ✅ └─ Found 227 NBLAST matches, returned 10 -SimilarMorphologyToPartOf: 0.7312s ✅ +SimilarMorphologyToPartOf: 0.5750s ✅ └─ Found 0 NBLASTexp matches -SimilarMorphologyToPartOfexp: 0.6780s ✅ +SimilarMorphologyToPartOfexp: 0.6387s ✅ └─ Found 0 reverse NBLASTexp matches -SimilarMorphologyToNB: 0.6917s ✅ +SimilarMorphologyToNB: 2.1447s ✅ └─ Found 15 NeuronBridge matches, returned 10 -SimilarMorphologyToNBexp: 0.7256s ✅ +SimilarMorphologyToNBexp: 0.5255s ✅ └─ Found 15 NeuronBridge expression matches, returned 10 ✅ All NBLAST similarity queries completed ================================================================================ DATASET/TEMPLATE QUERIES ================================================================================ -PaintedDomains: 0.7278s ✅ +PaintedDomains: 0.7501s ✅ └─ Found 0 painted domains -DatasetImages: 0.7244s ✅ +DatasetImages: 0.5330s ✅ └─ Found 0 images in dataset -AllAlignedImages: 0.7057s ✅ +AllAlignedImages: 0.5306s ✅ └─ Found 0 aligned images -AlignedDatasets: 0.9986s ✅ +AlignedDatasets: 0.7615s ✅ └─ Found 0 aligned datasets -AllDatasets: 0.9470s ✅ +AllDatasets: 1.3396s ✅ └─ Found 115 total datasets, returned 20 ✅ All dataset/template queries completed ================================================================================ PUBLICATION/TRANSGENE QUERIES ================================================================================ -TermsForPub: 0.6599s ✅ +TermsForPub: 0.4627s ✅ └─ Found 0 terms for publication -TransgeneExpressionHere: 0.8416s ✅ +TransgeneExpressionHere: 0.6039s ✅ └─ Found 2339 transgene expressions, returned 10 ✅ All publication/transgene queries completed @@ -258,7 +258,7 @@ test_term_info_performance (src.test.term_info_queries_test.TermInfoQueriesTest) Performance test for specific term info queries. ... ok ---------------------------------------------------------------------- -Ran 1 test in 1.878s +Ran 1 test in 1.375s OK VFBquery caching enabled: TTL=2160h (90 days), Memory=2048MB @@ -273,10 +273,10 @@ VFBquery: Caching enabled by default (3-month TTL, 2GB memory) ================================================== Performance Test Results: ================================================== -FBbt_00003748 query took: 0.9463 seconds -VFB_00101567 query took: 0.9315 seconds -Total time for both queries: 1.8779 seconds -Performance Level: 🟡 Good (1.5-3 seconds) +FBbt_00003748 query took: 0.7501 seconds +VFB_00101567 query took: 0.6250 seconds +Total time for both queries: 1.3751 seconds +Performance Level: 🟢 Excellent (< 1.5 seconds) ================================================== Performance test completed successfully! ``` @@ -294,4 +294,4 @@ Track performance trends across commits: - [GitHub Actions History](https://github.com/VirtualFlyBrain/VFBquery/actions/workflows/performance-test.yml) --- -*Last updated: 2025-11-17 15:13:18 UTC* +*Last updated: 2025-11-17 15:27:32 UTC* diff --git a/src/test/term_info_queries_test.py b/src/test/term_info_queries_test.py index d9594a3..8508d21 100644 --- a/src/test/term_info_queries_test.py +++ b/src/test/term_info_queries_test.py @@ -569,8 +569,8 @@ def test_term_info_performance(self): # Performance assertions - fail if queries take too long # These thresholds are based on observed performance characteristics - max_single_query_time = 3.0 # seconds (increased from 2.0 to account for SOLR cache overhead) - max_total_time = 6.0 # seconds (2 queries * 3 seconds each) + max_single_query_time = 5.0 # seconds (increased from 2.0 to account for SOLR cache overhead) + max_total_time = 10.0 # seconds (2 queries * 5 seconds each) self.assertLess(duration_1, max_single_query_time, f"FBbt_00003748 query took {duration_1:.4f}s, exceeding {max_single_query_time}s threshold")