UNPKG

fortify-schema

Version:

A modern TypeScript validation library designed around familiar interface syntax and powerful conditional validation. Experience schema validation that feels natural to TypeScript developers while unlocking advanced runtime validation capabilities.

212 lines (157 loc) 5.75 kB
# Fortify Schema Performance Report ## 📊 Executive Summary **Generated:** 26/06/2025 13:47:34 **Node.js Version:** v22.6.0 **Platform:** win32 (x64) **Fortify Schema Version:** 2.0.2 ### 🏆 Performance Highlights | Metric | Value | |--------|-------| | **Total Test Suites** | 6 | | **Fastest Operation** | Complex Nested (8 674 531,575 ops/sec) | | **Most Consistent** | Conditional Logic (5.4% CV) | | **Memory Efficiency** | 1.07 KB per schema | ### 💾 Memory Usage - **Total Memory Used:** 2.10 MB - **Schemas Created:** 2 000 - **Memory Per Schema:** 1.07 KB ## 📋 Detailed Performance Results ### 1. Basic Types **Performance Metrics:** - **Operations/Second:** 6 133 313,707 ops/sec - **Average Time/Op:** 0.16 μs - **Median Time:** 8.15 ms **Reliability Metrics:** - **Success Rate:** 100.0% - **Coefficient of Variation:** 57.8% - **Time Range:** 4.72 - 22.23 ms | Metric | Value | |--------|-------| | **Iterations** | 50 000 | | **Median Time** | 8.15 ms | | **Mean Time** | 10.26 ms | | **Std Deviation** | 5.93 ms | | **Min Time** | 4.72 ms | | **Max Time** | 22.23 ms | ### 2. Complex Nested **Performance Metrics:** - **Operations/Second:** 8 674 531,575 ops/sec - **Average Time/Op:** 0.12 μs - **Median Time:** 0.58 ms **Reliability Metrics:** - **Success Rate:** 100.0% - **Coefficient of Variation:** 21.1% - **Time Range:** 0.56 - 0.99 ms | Metric | Value | |--------|-------| | **Iterations** | 5 000 | | **Median Time** | 0.58 ms | | **Mean Time** | 0.65 ms | | **Std Deviation** | 0.14 ms | | **Min Time** | 0.56 ms | | **Max Time** | 0.99 ms | ### 3. Array Validation **Performance Metrics:** - **Operations/Second:** 6 447 972,919 ops/sec - **Average Time/Op:** 0.16 μs - **Median Time:** 1.24 ms **Reliability Metrics:** - **Success Rate:** 100.0% - **Coefficient of Variation:** 56.2% - **Time Range:** 0.91 - 3.72 ms | Metric | Value | |--------|-------| | **Iterations** | 8 000 | | **Median Time** | 1.24 ms | | **Mean Time** | 1.54 ms | | **Std Deviation** | 0.86 ms | | **Min Time** | 0.91 ms | | **Max Time** | 3.72 ms | ### 4. Union Types **Performance Metrics:** - **Operations/Second:** 1 382 944,15 ops/sec - **Average Time/Op:** 0.72 μs - **Median Time:** 14.46 ms **Reliability Metrics:** - **Success Rate:** 100.0% - **Coefficient of Variation:** 24.3% - **Time Range:** 11.39 - 24.76 ms | Metric | Value | |--------|-------| | **Iterations** | 20 000 | | **Median Time** | 14.46 ms | | **Mean Time** | 15.28 ms | | **Std Deviation** | 3.71 ms | | **Min Time** | 11.39 ms | | **Max Time** | 24.76 ms | ### 5. Conditional Logic **Performance Metrics:** - **Operations/Second:** 32 108,639 ops/sec - **Average Time/Op:** 31.14 μs - **Median Time:** 467.16 ms **Reliability Metrics:** - **Success Rate:** 0.0% - **Coefficient of Variation:** 5.4% - **Time Range:** 436.20 - 536.04 ms | Metric | Value | |--------|-------| | **Iterations** | 15 000 | | **Median Time** | 467.16 ms | | **Mean Time** | 470.52 ms | | **Std Deviation** | 25.26 ms | | **Min Time** | 436.20 ms | | **Max Time** | 536.04 ms | ### 6. Format Validation **Performance Metrics:** - **Operations/Second:** 6 324 777,315 ops/sec - **Average Time/Op:** 0.16 μs - **Median Time:** 1.90 ms **Reliability Metrics:** - **Success Rate:** 100.0% - **Coefficient of Variation:** 29.4% - **Time Range:** 1.57 - 3.74 ms | Metric | Value | |--------|-------| | **Iterations** | 12 000 | | **Median Time** | 1.90 ms | | **Mean Time** | 2.09 ms | | **Std Deviation** | 0.61 ms | | **Min Time** | 1.57 ms | | **Max Time** | 3.74 ms | ## 🎯 Performance Analysis ### Key Findings 1. **Conditional Validation Performance**: The unique conditional validation feature maintains competitive performance while adding significant functionality. 2. **Format Validation**: Regular expression-based validations show consistent performance across different pattern complexities. 3. **Scaling Characteristics**: Performance scales predictably with data size and schema complexity. 4. **Memory Efficiency**: Linear memory scaling with reasonable per-schema overhead. ### Performance Characteristics by Test Type - **Basic Types**: 6 133 313,707 ops/sec (57.8% variation) - **Complex Nested**: 8 674 531,575 ops/sec (21.1% variation) - **Array Validation**: 6 447 972,919 ops/sec (56.2% variation) - **Union Types**: 1 382 944,15 ops/sec (24.3% variation) - **Conditional Logic**: 32 108,639 ops/sec (5.4% variation) - **Format Validation**: 6 324 777,315 ops/sec (29.4% variation) ## 🔧 Technical Details ### Test Environment - **Node.js:** v22.6.0 - **Platform:** win32 - **Architecture:** x64 - **Test Type:** standalone-performance ### Methodology - **Warm-up:** 1000 iterations per test to ensure JIT optimization - **Statistical Analysis:** 10 runs per test with median reporting - **Memory Testing:** Multiple schema creation patterns - **Scaling Analysis:** Variable data sizes from 10 to 5000 items ### Unique Features Tested - **Conditional Validation:** Runtime property checking with `when` syntax - **Format Validation:** Email, URL, phone, UUID, and regex patterns - **Complex Nesting:** Deep object validation with multiple levels - **Array Validation:** Dynamic array sizing and type constraints ## 📝 Notes - Results reflect core validation performance under controlled conditions - Memory usage includes schema compilation and runtime overhead - Conditional validation adds minimal performance overhead for significant functionality gains - Performance may vary based on data complexity and validation requirements --- *Generated automatically by the Fortify Schema benchmark suite* *Last updated: 26/06/2025 13:47:34*