Quellcode durchsuchen

[benchs] add some string creation benchmarks

So we can all cry together
Simon Krajewski vor 5 Jahren
Ursprung
Commit
be08600765
1 geänderte Dateien mit 70 neuen und 0 gelöschten Zeilen
  1. 70 0
      tests/benchs/src/cases/StringCreate.hx

+ 70 - 0
tests/benchs/src/cases/StringCreate.hx

@@ -0,0 +1,70 @@
+package cases;
+
+import hxbenchmark.Suite;
+
+using StringTools;
+
+class StringCreate extends TestCase {
+	@:analyzer(no_optimize)
+	function measureCreate() {
+		var suite = new Suite("10000 iterations");
+		var s100 = StringTools.lpad("", "abcdefghijklmnopqrstuvwxzy", 100);
+		var s1000 = StringTools.lpad("", "abcdefghijklmnopqrstuvwxzy", 1000);
+		var s10000 = StringTools.lpad("", "abcdefghijklmnopqrstuvwxzy", 10000);
+		suite.add("concat 0", {
+			var s = "";
+			for (i in 0...10000) {
+				s += "";
+			}
+		});
+		suite.add("concat 1", {
+			var s = "";
+			for (i in 0...10000) {
+				s += "a";
+			}
+		});
+		// suite.add("concat 100", {
+		// 	var s = "";
+		// 	for (i in 0...10000) {
+		// 		s += s100;
+		// 	}
+		// });
+		// suite.add("concat 1000", {
+		// 	var s = "";
+		// 	for (i in 0...10000) {
+		// 		s += s1000;
+		// 	}
+		// });
+		suite.add("substr 100", {
+			var s100 = s100;
+			for (i in 0...10000) {
+				s100.substr(13, 1);
+			}
+		});
+		suite.add("substr 1000", {
+			var s1000 = s1000;
+			for (i in 0...10000) {
+				s1000.substr(13, 1);
+			}
+		});
+		// suite.add("substr 10000", {
+		// 	var s10000 = s10000;
+		// 	for (i in 0...10000) {
+		// 		s10000.substr(13, 1);
+		// 	}
+		// });
+		suite.add("replace 100", {
+			var s100 = s100;
+			for (i in 0...10000) {
+				s100.replace("l", "L");
+			}
+		});
+		// suite.add("replace 1000", {
+		// 	var s1000 = s1000;
+		// 	for (i in 0...10000) {
+		// 		s1000.replace("l", "L");
+		// 	}
+		// });
+		return suite.run();
+	}
+}