Comparison: Cloudflare R2
Summary
For small object workloads (1 KB objects), Tigris achieves approximately 20x the throughput of Cloudflare R2 for both read and write operations. R2 exhibits extremely high latency for small objects, making Tigris the clear winner for this use case.
Load Phase Results
Loading 10 million 1 KB objects into each system.
| Metric | Tigris | Cloudflare R2 |
|---|---|---|
P50 Latency | 16.799 ms | 197.119 ms (11.73x Tigris) |
P90 Latency | 35.871 ms | 340.223 ms (9.48x Tigris) |
Runtime | 6710.7 sec | 72063 sec (10.74x Tigris) |
Throughput | 1490.2 ops/sec | 138.8 ops/sec (0.09x Tigris) |
R2's p90 PUT latency tops 340ms whereas Tigris stays below 36ms. This extreme latency difference means Tigris finishes the load in 6711 seconds while R2 requires 72063 seconds (over 20 hours).

Total load time for loading 10M 1 KB objects
Mixed Workload Results
1 million operations with 80% reads and 20% writes.
Read Performance
| Metric | Tigris | Cloudflare R2 |
|---|---|---|
P50 Latency | 5.399 ms | 605.695 ms (112.19x Tigris) |
P90 Latency | 7.867 ms | 680.959 ms (86.56x Tigris) |
Runtime | 241.7 sec | 4705.3 sec (19.47x Tigris) |
Throughput | 3309.8 ops/sec | 42.6 ops/sec (0.01x Tigris) |
Tigris sustains ≈3.3k ops/s, approximately 78x R2 (≈43 ops/s) for read operations.

Read throughput during mixed workload

Read p90 latency during mixed workload
Write Performance
| Metric | Tigris | Cloudflare R2 |
|---|---|---|
P50 Latency | 12.855 ms | 605.695 ms (47.12x Tigris) |
P90 Latency | 16.543 ms | 680.959 ms (41.16x Tigris) |
Runtime | 241.6 sec | 4705.3 sec (19.48x Tigris) |
Throughput | 828.1 ops/sec | 42.6 ops/sec (0.05x Tigris) |
Tigris delivers ≈828 ops/s, approximately 20x R2 (≈43 ops/s) for write operations.

Write throughput during mixed workload

Write p90 latency during mixed workload
Key Takeaways
- 20x faster throughput for both reads and writes
- Sub-10ms read latency vs R2's 680ms p90
- Sub-20ms write latency vs R2's 680ms p90
- 10x faster bulk loads for large datasets
- R2 is not optimized for small object workloads