Author: Stephan <[email protected]>
Branch:
Changeset: r361:4cd3183a5d9e
Date: 2013-02-27 20:05 +0100
http://bitbucket.org/pypy/lang-js/changeset/4cd3183a5d9e/
Log: added array benchmarks
diff --git a/bench/array/run.js b/bench/array/run.js
new file mode 100644
--- /dev/null
+++ b/bench/array/run.js
@@ -0,0 +1,107 @@
+function _run(name, func) {
+ var d = Date.now();
+ func();
+ print(name + ': ' + (Date.now() - d));
+}
+
+var max_a = 1000000;
+
+function array1() {
+ var x = 0;
+ var a = [];
+ while(x < max_a) {
+ a[x] = x;
+ x += 1;
+ }
+ return a;
+}
+
+function array2() {
+ var x = 0;
+ var a = [];
+ while(x < max_a) {
+ a[x*2] = x;
+ x += 1;
+ }
+ return a;
+}
+
+function array3() {
+ var x = 0;
+ var a = [];
+ while(x < max_a) {
+ var idx = Math.floor(Math.random() * max_a);
+ a[idx] = idx;
+ x += 1;
+ }
+ return a;
+}
+
+function array4() {
+ var x = 0;
+ var a = [];
+ while(x < max_a) {
+ a.push(x);
+ x += 1;
+ }
+ x = 0;
+ while(x < max_a) {
+ a.pop();
+ x += 1;
+ }
+ return a;
+}
+
+function array5() {
+ var x = 0;
+ var a = [];
+ while(x < max_a) {
+ a.push(x);
+ x += 1;
+ }
+ x = 0;
+ while(x < max_a) {
+ a.pop();
+ x += 1;
+ }
+ return a;
+}
+
+function array6() {
+ var x = 0;
+ var a = [];
+ while(x < 100) {
+ while(a.length < max_a) {
+ a.push(x);
+ }
+ while(a.length > 0) {
+ a.pop();
+ }
+ x += 1;
+ }
+ return a;
+}
+
+function arrayXXX() {
+ var x = 0;
+ var a = [];
+ var b = [];
+ while(x < 100) {
+ a[x] = x;
+ x += 1;
+ }
+ x = 0;
+ while(a.length > 0) {
+ var a_idx = Math.floor(Math.random() * a.length);
+ var b_idx = a.splice(a_idx, 1);
+ b[b_idx] = b_idx;
+ }
+ return b;
+}
+
+_run('array1', array1);
+_run('array2', array2);
+_run('array3', array3);
+_run('array4', array4);
+_run('array5', array5);
+//_run('array6', array6);
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit