We used Benchee as a framework to write a simple, (possibly) unscientific Benchmark.
We pair 100
users, 1,000
users and 10,000
users with 100
BitTorrents, 1,000
BitTorrents and 10,000
BitTorrents one by one to form a 3
× 3
matrix, and obtained a total of 9
groups of cases. Then use functions to randomly generate Request
based on cases in each run to imitate the performance of users of different sizes in accessing the server in different numbers of BitTorrents lists.
BitTorrent BitTorrent BitTorrent
User (100, 100) (1000, 100) (10000, 100) Randomly generate `Request`
User (100, 1000) (1000, 1000) (10000, 1000) --------------------------------> &Benchee.run/2
User (100, 10000) (1000, 10000) (10000, 10000)
System info
- Elixir Version: 1.14.2
- Erlang Version: 25.2
- Operating system: Linux
- Available memory: 6.78 GB
- CPU Information: Intel(R) Xeon(R) Platinum 8272CL CPU @ 2.60GHz
- Number of Available Cores: 2
Environment variables
- YABTT_QUERY_LIMIT: 30
Benchmark configuration
- warmup: 2 s
- time: 5 s
- memory time: 0 ns
- reduction time: 0 ns
- reduction time: 0 ns
- parallel: 1
Name | Iterations per Second | Average | Deviation | Median | Mode | Minimum | Maximum | Sample size |
---|---|---|---|---|---|---|---|---|
large number of users | 1.53 K | 652.99 μs | ±33.85% | 628.70 μs | 645.40 μs, 635.70 μs | 419.50 μs | 5584.01 μs | 7617 |
moderate number of users | 1.50 K | 664.84 μs | ±37.05% | 629.50 μs | 535.00 μs | 409.90 μs | 7383.41 μs | 7480 |
small number of users | 1.01 K | 991.33 μs | ±29.80% | 940.79 μs | 824.90 μs, 897.60 μs | 671.00 μs | 10153.44 μs | 5025 |
Name | Iterations per Second | Average | Deviation | Median | Mode | Minimum | Maximum | Sample size |
---|---|---|---|---|---|---|---|---|
large number of users | 1.88 K | 531.61 μs | ±37.47% | 485.50 μs | 493.90 μs | 346.30 μs | 5613.71 μs | 9349 |
moderate number of users | 1.87 K | 533.89 μs | ±47.34% | 488.80 μs | 443 μs, 491.70 μs, 417.20 μs, 440.20 μs | 345.90 μs | 8931.21 μs | 9307 |
small number of users | 1.32 K | 755.99 μs | ±61.85% | 706.20 μs | 634.60 μs, 702.00 μs, 832.80 μs, 691.80 μs | 518.50 μs | 33562.44 μs | 6582 |
Name | Iterations per Second | Average | Deviation | Median | Mode | Minimum | Maximum | Sample size |
---|---|---|---|---|---|---|---|---|
large number of users | 1.91 K | 524.12 μs | ±42.72% | 480.50 μs | 445.70 μs, 502.80 μs, 491.60 μs, 489.80 μs, 449.40 μs, 368.30 μs, 498.50 μs, 447 μs, 503.10 μs, 438.20 μs, 498.70 μs | 339.50 μs | 6138.81 μs | 9480 |
moderate number of users | 1.83 K | 547.28 μs | ±52.97% | 480.50 μs | 483.80 μs | 345.40 μs | 6824.51 μs | 9082 |
small number of users | 1.34 K | 744.98 μs | ±31.50% | 707.30 μs | 639.90 μs | 517 μs | 6809.51 μs | 6680 |
Note This report applies to application version 0.0.4.