Show where you get performance benefits after migration.
()
| 152 | |
| 153 | |
| 154 | def demo_performance_benefits(): |
| 155 | """Show where you get performance benefits after migration.""" |
| 156 | print("\n=== Performance Benefits After Migration ===\n") |
| 157 | |
| 158 | tree = BPlusTreeMap(capacity=32) |
| 159 | |
| 160 | # Add sample data |
| 161 | for i in range(1000): |
| 162 | tree[i] = f"item_{i}" |
| 163 | |
| 164 | print("BONUS: New capabilities not available with dict:") |
| 165 | |
| 166 | print("\n1. Range queries (major advantage):") |
| 167 | print(" tree.range(start, end) - not possible with regular dict!") |
| 168 | |
| 169 | range_items = list(tree.range(100, 110)) |
| 170 | print(f" tree.range(100, 110): {len(range_items)} items") |
| 171 | for key, value in range_items[:3]: |
| 172 | print(f" {key}: {value}") |
| 173 | print(" ...") |
| 174 | |
| 175 | print("\n2. Ordered iteration (automatic with BPlusTree):") |
| 176 | print(" No need to call sorted() on dict.items()!") |
| 177 | |
| 178 | print("\n3. Performance advantages:") |
| 179 | print(" ✓ 2.5x faster for partial range scans") |
| 180 | print(" ✓ 1.4x faster for large dataset iteration") |
| 181 | print(" ✓ Excellent scaling with dataset size") |
| 182 | print(" ✓ Memory-efficient for large datasets") |
| 183 | |
| 184 | |
| 185 | def demo_gotchas_and_tips(): |
no test coverage detected