add to select

JavaScript performance comparison

Test case created

Preparation code

<script src="//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js">
</script>
<script>
Benchmark.prototype.setup = function() {
    parent.oblArray = new Array(
    new Array("", new Array("<любая>", "")), new Array("0", new Array("<любая>", "", "Вся Австрия", "133")), new Array("1", new Array("<любая>", "", "Весь Азейбаржан", "134")), new Array("2", new Array("<любая>", "", "Вся Албания", "135")), new Array("3", new Array("<любая>", "", "Всё княжество", "136")), new Array("4", new Array("<любая>", "", "Вся Армения", "137")), new Array("5", new Array("<любая>", "", "Вся Беллорусия", "138")), new Array("6", new Array("<любая>", "", "Вся Бельгия", "139")), new Array("7", new Array("<любая>", "", "Вся Болгария", "140")), new Array("8", new Array("<любая>", "", "Вся Босния и Герцеговина", "141")), new Array("9", new Array("<любая>", "", "Вся Великобритания", "142")), new Array("10", new Array("<любая>", "", "Вся Венгрия", "143")), new Array("11", new Array("<любая>", "", "Вся Германия", "144")), new Array("12", new Array("<любая>", "", "Вся Греция", "145")), new Array("13", new Array("<любая>", "", "Вся Грузия", "146")), new Array("14", new Array("<любая>", "", "Вся Дания", "147")), new Array("15", new Array("<любая>", "", "Вся Ирландия", "148")), new Array("16", new Array("<любая>", "", "Вся Исландия", "149")), new Array("17", new Array("<любая>", "", "Вся Испания", "150")), new Array("18", new Array("<любая>", "", "Вся Италия", "151")), new Array("19", new Array("<любая>", "", "Весь Казахстан", "152")), new Array("20", new Array("<любая>", "", "Весь Кыргыстан", "153")), new Array("21", new Array("<любая>", "", "Вся Латвия", "154")), new Array("22", new Array("<любая>", "", "Вся Литва", "155")), new Array("23", new Array("<любая>", "", "Весь Лихтенштейн", "156")), new Array("24", new Array("<любая>", "", "Всё княжество", "157")), new Array("25", new Array("<любая>", "", "Вся Македония", "158")), new Array("26", new Array("<любая>", "", "Вся Молдова", "159")), new Array("27", new Array("<любая>", "", "Всё Монако", "160")), new Array("28", new Array("<любая>", "", "Все Нидерланды", "161")), new Array("29", new Array("<любая>", "", "Вся Норвегия", "162")), new Array("30", new Array("<любая>", "", "Вся Польша", "163")), new Array("31", new Array("<любая>", "", "Вся Португалия", "164")), new Array("32", new Array("<любая>", "", "Амурская область", "75", "Архангельская область", "76", "Башкортостан", "77", "Белгородская область", "78", "Брянская область", "79", "Бурятский автономный округ", "80", "Владимирская область", "81", "Волгоградская область", "82", "Вологодская область", "83", "Воронежская область", "84", "Ивановская область", "85", "Иркутская область", "86", "Калининградская область", "184", "Калужская область", "87", "Карачаево-Черкесская республика", "88", "Карелия", "89", "Кировская область", "90", "Коми-Пермяцкий автономный округ", "91", "Краснодарский край", "92", "Красноярский край", "93", "Курганская область", "94", "Курская область", "95", "Ленинградская область", "96", "Липецкая область", "97", "Московская область", "98", "Нижегородская область", "183", "Новгородская область", "99", "Омская область", "100", "Оренбургская область", "101", "Орловская область", "102", "Пензенская область", "103", "Пермская область", "104", "Приморский край", "105", "Псковская область", "106", "Республика Адыгея", "107", "Республика Бурятия", "108", "Республика Коми", "109", "Республика Марий Эл", "110", "Республика Мордовия", "111", "Республика Саха", "112", "Республика Тыва", "113", "Республика Хакасия", "114", "Ростовская область", "115", "Рязанская область", "116", "Самарская область", "117", "Саратовская область", "118", "Свердловская область", "119", "Смоленская область", "120", "Ставропольский край", "181", "Тамбовская область", "121", "Тверская область", "122", "Тульская область", "123", "Тюменская область", "124", "Ульяновская область", "182", "Усть-Ордынский Бурятский автон", "125", "Хабаровский край", "126", "Ханты-Мансийск", "127", "Челябинская область", "128", "Читинская область", "129", "Чувашская республика", "130", "Ямало-ненецкий автономный окр", "131", "Ярославская область", "132")), new Array("33", new Array("<любая>", "", "Вся Румыния", "165")), new Array("34", new Array("<любая>", "", "Весь Сан-Марино", "166")), new Array("35", new Array("<любая>", "", "Вся Сербия и Черногория", "167")), new Array("36", new Array("<любая>", "", "Вся Словакия", "168")), new Array("37", new Array("<любая>", "", "Вся Словения", "169")), new Array("49", new Array("<любая>", "", "Вся Эстония", "180")), new Array("38", new Array("<любая>", "", "Весь Таджикистан", "170")), new Array("39", new Array("<любая>", "", "Весь Туркменистан", "171")), new Array("40", new Array("<любая>", "", "Вся Турция", "172")), new Array("41", new Array("<любая>", "", "Весь Узбекистан", "173")), new Array("42", new Array("<любая>", "", "Автономная Республика Крым", "50", "Винницкая обл", "51", "Волынская обл", "52", "Днепропетровская обл", "53", "Донецкая обл", "54", "Житомирская обл", "55", "Закарпатская обл", "56", "Запорожская обл", "57", "Ивано-франковская обл", "58", "Киевская обл", "59", "Кировоградская обл", "60", "Луганская обл", "61", "Львовская обл", "62", "Николаевская обл", "63", "Одесская обл", "64", "Полтавская обл", "65", "Ровенская обл", "66", "Сумская обл", "67", "Тернопольская обл", "68", "Харьковская обл", "69", "Херсонская обл", "70", "Хмельницкая обл", "71", "Черкасская обл", "72", "Черниговская обл", "73", "Черновицкая обл", "74")), new Array("43", new Array("<любая>", "", "Вся Финляндия", "174")), new Array("44", new Array("<любая>", "", "Все департаменты", "175")), new Array("45", new Array("<любая>", "", "Вся Хорватия", "176")), new Array("46", new Array("<любая>", "", "Вся Чехия", "177")), new Array("47", new Array("<любая>", "", "Вся Швейцария", "178")), new Array("48", new Array("<любая>", "", "Вся Швеция", "179")));
   
    val = 42;
};
</script>

Test runner

Warning! For accurate results, please disable Firebug before running the tests. (Why?)

Java applet disabled.

Testing in unknown unknown
Test Ops/sec
pure
var html = '',
    i = 0,
    temp;
parent.oblArray.forEach(function(item) {
  if (item[0] == val) {
    item[1].forEach(function(item2) {
      if (i == 0) {
        temp = '>' + item2 + '</option>';
        i++;
      } else {
        html += '<option value=' + item2 + temp;
        temp = null;
        i = 0;
      }
    });
  }
});
pending…
old
var html = document.createElement('div');
for (var i = 0; i < parent.oblArray.length; i++) {
  if (parent.oblArray[i][0] == val ) {
    for (i1 = 0; i1 < parent.oblArray[i][1].length; i1 = i1 + 2) {
      el = document.createElement('OPTION');
      el.text = parent.oblArray[i][1][i1];
      el.value = parent.oblArray[i][1][i1 + 1];
      $(html).append(el);
    }
  }
}
pending…
new
var html = document.createElement('div');
for (var i = 0; i < parent.oblArray.length; i++) {
  if (parent.oblArray[i][0] == val ) {
    for (i1 = 0; i1 < parent.oblArray[i][1].length; i1 = i1 + 2) {
      el = $("<OPTION>").attr("value",parent.oblArray[i][1][i1 + 1]).html(parent.oblArray[i][1][i1]).appendTo($(html));
    }
  }
}
pending…

You can edit these tests or add even more tests to this page by appending /edit to the URL.

Compare results of other browsers

0 comments

Add a comment