Merge pull request #101 from arai-a/map-iter

Add map iterator to misc benchmark.
This commit is contained in:
Hannes Verschore 2016-03-17 10:49:57 +01:00
Родитель 956b2c8b7b 7afa985f47
Коммит 7981a2bac9
2 изменённых файлов: 58 добавлений и 0 удалений

Просмотреть файл

@ -39,3 +39,4 @@ misc-bugs-1090583-dart2js-tracer
misc-basic-hoist-bounds-check
misc-apply-array
misc-apply-array-headroom
misc-map-iterator

Просмотреть файл

@ -0,0 +1,57 @@
function assertEq(result, expected) {
if (result !== expected)
throw "Assertion: Expected " + expected + ", got " + result;
}
var loops = 10000;
var entries = 100;
var map = new Map();
for (var i = 0; i < entries; i++)
map.set(i * 2, i * 3);
function test_keys(m) {
for (var i = loops; i--;) {
var j = 0;
for (var k of m.keys()) {
assertEq(k, j * 2);
j++;
}
}
}
test_keys(map);
function test_values(m) {
for (var i = loops; i--;) {
var j = 0;
for (var v of m.values()) {
assertEq(v, j * 3);
j++;
}
}
}
test_values(map);
function test_entries(m) {
for (var i = loops; i--;) {
var j = 0;
for (var e of m.entries()) {
assertEq(e[0], j * 2);
assertEq(e[1], j * 3);
j++;
}
}
}
test_entries(map);
function test_iterator(m) {
for (var i = loops; i--;) {
var j = 0;
for (var e of m) {
assertEq(e[0], j * 2);
assertEq(e[1], j * 3);
j++;
}
}
}
test_iterator(map);