Skip to content

Commit

Permalink
chore: new benchmarks
Browse files Browse the repository at this point in the history
  • Loading branch information
francescovallone committed Jun 2, 2024
1 parent af4a326 commit 479e38f
Show file tree
Hide file tree
Showing 12 changed files with 117 additions and 79 deletions.
11 changes: 4 additions & 7 deletions benchmarks/all_results.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,4 @@
| | Req/sec | Trans/sec | Req/sec DIFF | Avg Latency |
|----------------|---------|-----------|-------------|-----------|
| shelf | 19788.91 | 4.81MB | +0.00% | 66.37 |
| dart_frog (no_cli) | 22635.49 | 5.59MB | +14.38% | 48.16 |
| serinus | 23610.69 | 5.29MB | +19.31% | 41.01 |
| pharaoh | 28378.75 | 3.90MB | +43.41% | 36.48 |
| dart_http | 28831.05 | 5.44MB | +45.69% | 33.74 |
| Server | Req/sec | Trans/sec | Req/sec DIFF | Avg Latency |
|:-|:-|:-|:-|:-|
| serinus | 27003.96 | 6.05MB | +0.00% | 37.41 |
| dart_http | 31069.12 | 5.87MB | +15.05% | 33.73 |
8 changes: 4 additions & 4 deletions benchmarks/bin/benchmarks.dart
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,13 @@ import 'package:benchmarks/shared/serinus_benchmark.dart';
Map<String, Result?> results = {};

Future<void> main(List<String> arguments) async {
results['shelf'] = await benchmarks.ShelfAppBenchmark().report();
results['serinus'] = await benchmarks.SerinusAppBenchmark().report();
// results['shelf'] = await benchmarks.ShelfAppBenchmark().report();
// results['vania (no_cli)'] = await benchmarks.VaniaAppBenchmark().report();
results['pharaoh'] = await benchmarks.PharaohAppBenchmark().report();
// results['pharaoh'] = await benchmarks.PharaohAppBenchmark().report();
// results['angel3'] = await benchmarks.Angel3AppBenchmark().report();
results['dart_frog (no_cli)'] =
await benchmarks.DartFrogAppBenchmark().report();
// results['dart_frog (no_cli)'] =
// await benchmarks.DartFrogAppBenchmark().report();
results['dart_http'] = await benchmarks.DartHttpAppBenchmark().report();
await saveToFile();
}
Expand Down
22 changes: 11 additions & 11 deletions benchmarks/dart_frog_result.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
## dart_frog (no_cli)
### Requests per second
Requests/sec: 22635.49
Transfer/sec: 5.59MB
Requests/sec DIFF: +14.38%
Requests/sec: 23851.66
Transfer/sec: 5.89MB
Requests/sec DIFF: +10.18%
### Latency
Avg Latency: 48.16
Stdev Latency: 83.36
Max Latency: 1.1
Stdev Perc: 97.76
Avg Latency: 37.84
Stdev Latency: 18.89
Max Latency: 584.87
Stdev Perc: 98.75
### Req/Sec
Rps Avg: 3.18
Rps Max: 4.02
Rps Stdev: 674.49
Rps Perc: 89.99
Rps Avg: 3.32
Rps Max: 4.45
Rps Stdev: 621.77
Rps Perc: 93.78
22 changes: 11 additions & 11 deletions benchmarks/dart_http_result.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
## dart_http
### Requests per second
Requests/sec: 28831.05
Transfer/sec: 5.44MB
Requests/sec DIFF: +45.69%
Requests/sec: 31069.12
Transfer/sec: 5.87MB
Requests/sec DIFF: +15.05%
### Latency
Avg Latency: 33.74
Stdev Latency: 27.64
Max Latency: 773.87
Stdev Perc: 96.36
Avg Latency: 33.73
Stdev Latency: 49.24
Max Latency: 863.21
Stdev Perc: 97.54
### Req/Sec
Rps Avg: 3.9
Rps Max: 5.35
Rps Stdev: 1.21
Rps Perc: 87.13
Rps Avg: 4.08
Rps Max: 5.68
Rps Stdev: 1.39
Rps Perc: 86.72
5 changes: 3 additions & 2 deletions benchmarks/lib/benchmarks.dart
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@ library benchmark;
export 'serinus.dart';
export 'shelf.dart';
export 'vania.dart';
export 'pharaoh.dart';
// export 'pharaoh.dart';
export 'dart_frog.dart';
export 'angel3.dart';
export 'dart_http.dart';
export 'dart_http.dart';
export 'shelf_router.dart';
24 changes: 24 additions & 0 deletions benchmarks/lib/shelf_router.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
import 'package:benchmarks/shared/serinus_benchmark.dart';
import 'package:shelf/shelf.dart';
import 'package:shelf/shelf_io.dart';
import 'package:shelf_router/shelf_router.dart';


class ShelfRouterAppBenchmark extends SerinusBenchmark {
// ignore: prefer_typing_uninitialized_variables
ShelfRouterAppBenchmark() : super(name: 'Shelf Router');

var server;

@override
Future<void> setup() async {
var router = Router();
router.get('/', (Request request) => Response.ok('echo!'));
server = await serve(router.call, 'localhost', 3000);
}

@override
Future<void> teardown() async {
await server.close(force: true);
}
}
22 changes: 11 additions & 11 deletions benchmarks/pharaoh_result.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
## pharaoh
### Requests per second
Requests/sec: 28378.75
Transfer/sec: 3.90MB
Requests/sec DIFF: +43.41%
Requests/sec: 27134.42
Transfer/sec: 3.73MB
Requests/sec DIFF: +31.73%
### Latency
Avg Latency: 36.48
Stdev Latency: 48.27
Max Latency: 976.6
Stdev Perc: 98.52
Avg Latency: 40.86
Stdev Latency: 65.61
Max Latency: 1.01
Stdev Perc: 97.92
### Req/Sec
Rps Avg: 3.82
Rps Max: 4.78
Rps Stdev: 650.81
Rps Perc: 94.94
Rps Avg: 3.5
Rps Max: 4.57
Rps Stdev: 0.99
Rps Perc: 91.56
22 changes: 11 additions & 11 deletions benchmarks/pubspec.lock
Original file line number Diff line number Diff line change
Expand Up @@ -441,14 +441,6 @@ packages:
url: "https://pub.dev"
source: hosted
version: "1.11.1"
pharaoh:
dependency: "direct main"
description:
name: pharaoh
sha256: "5a0906b6efc78637ec08851a389f4470b74b672fbc0e06be11dfe36dfb5f9c58"
url: "https://pub.dev"
source: hosted
version: "0.0.6+4"
pointycastle:
dependency: transitive
description:
Expand Down Expand Up @@ -527,7 +519,7 @@ packages:
path: "../packages/serinus"
relative: true
source: path
version: "0.3.0"
version: "0.3.1"
shelf:
dependency: "direct main"
description:
Expand All @@ -552,6 +544,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "3.0.2"
shelf_router:
dependency: "direct main"
description:
name: shelf_router
sha256: f5e5d492440a7fb165fe1e2e1a623f31f734d3370900070b2b1e0d0428d59864
url: "https://pub.dev"
source: hosted
version: "1.1.4"
shelf_static:
dependency: transitive
description:
Expand Down Expand Up @@ -596,10 +596,10 @@ packages:
dependency: transitive
description:
name: spanner
sha256: "6e7c83fda01e046f2b4088f22a0f09bff75ec0d5aa999b8de9356b722eb1acac"
sha256: "72295ca005a56105fccb59d44303505685eaffecc738b0987b04fdf8e4b2190f"
url: "https://pub.dev"
source: hosted
version: "1.0.1+4"
version: "1.0.1+5"
sprintf:
dependency: transitive
description:
Expand Down
3 changes: 2 additions & 1 deletion benchmarks/pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,9 @@ dependencies:
shelf: ^1.4.1
benchmark_harness: ^2.2.2
vania: ^0.1.7+3
pharaoh: ^0.0.6+4
# pharaoh: ^0.0.7
angel3_framework: ^8.3.2
shelf_router: ^1.1.4


dev_dependencies:
Expand Down
22 changes: 11 additions & 11 deletions benchmarks/serinus_result.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
## serinus
### Requests per second
Requests/sec: 23610.69
Transfer/sec: 5.29MB
Requests/sec DIFF: +19.31%
Requests/sec: 27003.96
Transfer/sec: 6.05MB
Requests/sec DIFF: +0.00%
### Latency
Avg Latency: 41.01
Stdev Latency: 55.97
Max Latency: 1.09
Stdev Perc: 98.39
Avg Latency: 37.41
Stdev Latency: 30.63
Max Latency: 927.88
Stdev Perc: 97.95
### Req/Sec
Rps Avg: 3.33
Rps Max: 4.0
Rps Stdev: 767.33
Rps Perc: 91.34
Rps Avg: 3.4
Rps Max: 4.43
Rps Stdev: 0.87
Rps Perc: 89.5
20 changes: 10 additions & 10 deletions benchmarks/shelf_result.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
## shelf
### Requests per second
Requests/sec: 19788.91
Transfer/sec: 4.81MB
Requests/sec: 21647.62
Transfer/sec: 5.26MB
Requests/sec DIFF: +0.00%
### Latency
Avg Latency: 66.37
Stdev Latency: 103.6
Max Latency: 1.14
Stdev Perc: 92.66
Avg Latency: 41.81
Stdev Latency: 22.62
Max Latency: 677.47
Stdev Perc: 94.04
### Req/Sec
Rps Avg: 2.5
Rps Max: 3.7
Rps Stdev: 1.22
Rps Perc: 78.22
Rps Avg: 3.01
Rps Max: 3.71
Rps Stdev: 0.99
Rps Perc: 83.33
15 changes: 15 additions & 0 deletions benchmarks/shelf_router_result.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
## shelf_router
### Requests per second
Requests/sec: 22588.86
Transfer/sec: 5.49MB
Requests/sec DIFF: +9.66%
### Latency
Avg Latency: 40.69
Stdev Latency: 22.82
Max Latency: 880.13
Stdev Perc: 99.04
### Req/Sec
Rps Avg: 3.1
Rps Max: 3.7
Rps Stdev: 565.5
Rps Perc: 94.14

0 comments on commit 479e38f

Please sign in to comment.