File tree Expand file tree Collapse file tree 1 file changed +45
-0
lines changed Expand file tree Collapse file tree 1 file changed +45
-0
lines changed Original file line number Diff line number Diff line change
1
+ import 'dart:typed_data' ;
2
+
3
+ import 'package:fixnum/fixnum.dart' ;
4
+ import 'package:protobuf_benchmarks/benchmark_base.dart' ;
5
+ import 'package:protobuf_benchmarks/generated/f12.pb.dart' as f12;
6
+ import 'package:protobuf_benchmarks/generated/google_message2.pb.dart' ;
7
+
8
+ class RepeatedBenchmark extends BenchmarkBase {
9
+ final Uint8List _buffer;
10
+
11
+ RepeatedBenchmark (super .name, GoogleMessage2 message)
12
+ : _buffer = message.writeToBuffer ();
13
+
14
+ @override
15
+ void run () => GoogleMessage2 .fromBuffer (_buffer);
16
+ }
17
+
18
+ class RepeatedEnumBenchmark extends BenchmarkBase {
19
+ final Uint8List _buffer;
20
+
21
+ RepeatedEnumBenchmark (super .name, f12.A58 message)
22
+ : _buffer = message.writeToBuffer ();
23
+
24
+ @override
25
+ void run () => f12.A58 .fromBuffer (_buffer);
26
+ }
27
+
28
+ void main () {
29
+ const kSize = 500000 ;
30
+
31
+ RepeatedBenchmark (
32
+ 'repeated_in64' ,
33
+ GoogleMessage2 (field130: List <Int64 >.generate (kSize, Int64 .new )),
34
+ ).report ();
35
+
36
+ RepeatedBenchmark (
37
+ 'repeated_string' ,
38
+ GoogleMessage2 (field128: List <String >.generate (kSize, (i) => i.toString ())),
39
+ ).report ();
40
+
41
+ RepeatedEnumBenchmark (
42
+ 'repeated_enum' ,
43
+ f12.A58 (a306: List <f12.A322 >.generate (kSize, (_) => f12.A322 .A324 )),
44
+ ).report ();
45
+ }
You can’t perform that action at this time.
0 commit comments