Performance comparison: RSplitCap (Rust) vs SplitCap (C#, via Wine)
Install matplotlib for charts: pip install matplotlib
Side-by-side comparison of shared SplitCap features. N× = RSplitCap is N times faster.
| Test | Strategy | Input | Size | Time (RSplitCap vs SplitCap) | Memory (RSplitCap vs SplitCap) | Files (RS) | Files (SC) |
|---|---|---|---|---|---|---|---|
| split_session | session | Facetime.pcap | 2.4 MB | 2.63s vs 1.54s 1/1.7× | 0.0 MB vs 0.0 MB | 6321 | 6321 |
| split_flow | flow | Facetime.pcap | 2.4 MB | 6.11s vs 3.28s 1/1.9× | 0.0 MB vs 0.0 MB | 12000 | 12000 |
| split_host | host | Facetime.pcap | 2.4 MB | 5.62s vs 3.34s 1/1.7× | 0.0 MB vs 0.0 MB | 11516 | 11516 |
| split_hostpair | hostpair | Facetime.pcap | 2.4 MB | 2.97s vs 1.92s 1/1.6× | 0.0 MB vs 0.0 MB | 6000 | 6000 |
| split_mac | mac | Facetime.pcap | 2.4 MB | 30 ms vs 169 ms 5.6× | 0.0 MB vs 0.0 MB | 2 | 2 |
| split_nosplit | nosplit | Facetime.pcap | 2.4 MB | 23 ms vs 163 ms 7.0× | 0.0 MB vs 0.0 MB | 1 | 1 |
| filter_ip | session | Facetime.pcap | 2.4 MB | 17 ms vs 198 ms 11.5× | 0.0 MB vs 0.0 MB | 0 | 0 |
| filter_port | session | Facetime.pcap | 2.4 MB | 17 ms vs 141 ms 8.2× | 0.0 MB vs 0.0 MB | 0 | 0 |
| filter_ip_port | session | Facetime.pcap | 2.4 MB | 17 ms vs 152 ms 9.2× | 0.0 MB vs 0.0 MB | 0 | 0 |
| split_l7 | session | Facetime.pcap | 2.4 MB | 4.24s vs 2.72s 1/1.6× | 0.0 MB vs 0.0 MB | 7252 | 7252 |
Features available only in RSplitCap: PCAP-NG, archive mode, pipelined streaming, mmap I/O, BSSID strategy, time/packet bucketing, secondary indexes.
| Feature | Strategy | Input | Size | Time | Memory | Files | Output Size |
|---|---|---|---|---|---|---|---|
| archive_create | session | Facetime.pcap | 2.4 MB | 35 ms | 0.0 MB | 1 | 3.6 MB |
| archive_with_index | session | Facetime.pcap | 2.4 MB | 36 ms | 0.0 MB | 1 | 3.6 MB |
| mmap_off | session | Facetime.pcap | 2.4 MB | 4.06s | 0.0 MB | 6321 | 2.8 MB |
| mmap_on | session | Facetime.pcap | 2.4 MB | 4.43s | 0.0 MB | 6321 | 2.8 MB |
| pipeline_off | session | Facetime.pcap | 2.4 MB | 4.67s | 0.0 MB | 6321 | 2.8 MB |
| pipeline_on | session | Facetime.pcap | 2.4 MB | 4.64s | 0.0 MB | 6321 | 2.8 MB |
| strategy_bssid | bssid | Facetime.pcap | 2.4 MB | 21 ms | 0.0 MB | 1 | 2.5 MB |
| RSplitCap binary | .\rsplitcap.exe |
| SplitCap binary | .\SplitCap.exe |
| Test data | USTC-TFC2016-master |
| Warmup runs | 1 |
| Measurement runs | 3 |
| Max sessions | 10000 |