소스 검색

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


이 변경점에서 너무 많은 파일들이 변경되어 몇몇 파일들은 표시되지 않았습니다.