Benchmarks
sett performance benchmarks
Test setup
The benchmarks were run on an Apple Silicon M3 machine with 16-Core CPUs, 128GB memory, and 2TB disk. Version 5.2.0 of sett CLI was used.
One single binary file was used, with default compression (Zstandard, level 3). Decreasing the compression level and/or using text data will influence the results.
Transfer speed is highly dependent on the infrastructure connecting the data sender and recipients. In these benchmarks, data was transferred to the same machine sending the data, therefore representing a best-case scenario in terms of transfer speed.
Results
The table and figure below present throughput speeds for different sett workflows, all values are averages of 5 runs performed with hyperfine:
- Encrypt: compress, encrypt package and transfer (S3, SFTP) data.
- Transfer: transfer already packaged data. There is no compression and encryption involved in this workflow.
- Decrypt: decrypt and decompress a data package, either locally or streamed from S3.
Workflow | Throughput (MB/second) | Throughput (GB/minute) |
---|---|---|
Encrypt local | 230.65 | 13.84 |
Encrypt S3 | 179.98 | 10.8 |
Encrypt SFTP | 119.79 | 7.19 |
Transfer S3 | 478.68 | 28.72 |
Transfer SFTP | 123.49 | 7.41 |
Decrypt local | 244.74 | 14.68 |
Decrypt s3 | 205.22 | 12.31 |
Throughput as function of file size: as can be seen, the curves in the figure below are linear, indicating that the throughput is constant regardless of the file size.