Kyle P Davis 11 лет назад
Родитель
Сommit
a1357cfd2a
1 измененных файлов с 44 добавлено и 0 удалено
  1. 44 0
      example/arrayIndexOf.js

+ 44 - 0
example/arrayIndexOf.js

@@ -0,0 +1,44 @@
+"use strict";
+// An example of benchmarking Arrays using benchmarksman
+
+
+exports.arrayIndexOf = {
+
+	// setup
+	"before": function () {
+
+		this.arr = Array.apply(0, Array(1000)).map(function(v, i) {
+			return i;
+		});
+
+		this.getIndexOf = function getIndexOf(arr, item) {
+			for (var i = 0, l = arr.length; i < l; i++) {
+				if (arr[i] === item)
+					return i;
+			}
+			return -1;
+		};
+
+	},
+
+	"fn native": function () {
+		this.arr.indexOf(this.arr.length - 1);
+	},
+
+	"fn for loop": function () {
+		this.getIndexOf(this.arr, this.arr.length - 1);
+	},
+
+	"inline for loop": function () {
+		var arr = this.arr,
+		item = this.arr.length - 1;
+		for (var i = 0, l = arr.length; i < l; i++) {
+			if (arr[i] === item)
+				break;
+		}
+	},
+
+};
+
+// if run directly run benchmarks
+if (!module.main) return require("benchmarksman").runner(exports);