ソースを参照

add csi parsing benchmark

xuty 4 年 前
コミット
1260dfc4c2
2 ファイル変更26 行追加3 行削除
  1. 26 3
      script/benchmark.dart
  2. 0 0
      script/cmatrix.txt

+ 26 - 3
script/benchmark.dart

@@ -1,9 +1,12 @@
+import 'dart:io';
+
 import 'package:xterm/xterm.dart';
 
 void main() {
-  BenchmarkWrite().run();
-  BenchmarkWrite2().run();
-  BenchmarkWriteBuffer().run();
+  // BenchmarkWrite().run();
+  // BenchmarkWrite2().run();
+  // BenchmarkWriteBuffer().run();
+  BenchmarkWriteCMatrix().run();
 }
 
 abstract class Benchmark {
@@ -55,6 +58,26 @@ class BenchmarkWrite2 extends Benchmark {
   }
 }
 
+class BenchmarkWriteCMatrix extends Benchmark {
+  BenchmarkWriteCMatrix() {
+    data = File('script/cmatrix.txt').readAsStringSync();
+  }
+
+  static const cycle = 1 << 0;
+  late final String data;
+
+  String explain() {
+    return 'write ${data.length / 1024} kb CMatrix output to Terminal for $cycle time(s)';
+  }
+
+  void benchmark() {
+    final terminal = Terminal();
+    for (var i = 0; i < cycle; i++) {
+      terminal.write(data);
+    }
+  }
+}
+
 class BenchmarkWriteBuffer extends Benchmark {
   static const cycle = 1 << 20;
   static const data = 'hello world';

ファイルの差分が大きいため隠しています
+ 0 - 0
script/cmatrix.txt


この差分においてかなりの量のファイルが変更されているため、一部のファイルを表示していません