Run full benchmark suite including stress tests.
()
| 690 | |
| 691 | |
| 692 | async def run_full_benchmarks(): |
| 693 | """Run full benchmark suite including stress tests.""" |
| 694 | results = BenchmarkResults() |
| 695 | |
| 696 | print("Running full benchmark suite...") |
| 697 | |
| 698 | # Throughput tests with different chunk sizes |
| 699 | for chunk_size in [1, 64, 1024, 65536]: |
| 700 | await benchmark_worker_streaming_throughput( |
| 701 | results, chunk_size=chunk_size, num_chunks=1000 |
| 702 | ) |
| 703 | |
| 704 | # Arbiter forwarding |
| 705 | await benchmark_arbiter_forwarding(results, num_chunks=10000) |
| 706 | |
| 707 | # Latency |
| 708 | await benchmark_streaming_latency(results, iterations=100) |
| 709 | |
| 710 | # Concurrent streams |
| 711 | await benchmark_concurrent_streams(results, num_streams=10, chunks_per_stream=100) |
| 712 | await benchmark_concurrent_streams(results, num_streams=50, chunks_per_stream=100) |
| 713 | |
| 714 | # Memory stability |
| 715 | await benchmark_memory_stability(results, iterations=20, chunks=1000) |
| 716 | |
| 717 | # Async client streaming benchmarks |
| 718 | for chunk_size in [64, 1024, 65536]: |
| 719 | await benchmark_async_client_streaming(results, chunk_size=chunk_size, num_chunks=1000) |
| 720 | await benchmark_sync_client_streaming(results, chunk_size=chunk_size, num_chunks=1000) |
| 721 | |
| 722 | # Comparison benchmark |
| 723 | await benchmark_async_vs_sync_client_streaming(results, chunk_size=1024, num_chunks=5000) |
| 724 | |
| 725 | return results |
| 726 | |
| 727 | |
| 728 | def main(): |
no test coverage detected