greenwar,
Вот тебе простой пример, введи в поле foo bar и baz
<html>
<head>
</head>
<body>
<input id="input">
<div id="out"></div>
<script>
arr=[]
c=3000
while(c--) arr.push("foo")
c=3000
while(c--) arr.push("bar")
c=3000
while(c--) arr.push("baz")
input.oninput=function(){
console.time("test")
out.innerHTML=""
var re=new RegExp(this.value)
var outarr=arr.filter(function(str){return re.test(str)})
out.innerHTML=outarr.join("<br>")
console.timeEnd("test")
}
</script>
</body>
</html>
сравни на хроме и ff
Вот результаты на машине средней паршивости с вендой
FF:
test: таймер запущен tst.html:22
test: 31мс tst.html:29
test: таймер запущен tst.html:22
test: 109мс tst.html:29
test: таймер запущен tst.html:22
test: 94мс tst.html:29
test: таймер запущен tst.html:22
test: 125мс tst.html:29
test: таймер запущен tst.html:22
test: 265мс tst.html:29
test: таймер запущен tst.html:22
test: 204мс tst.html:29
test: таймер запущен tst.html:22
test: 125мс tst.html:29
test: таймер запущен tst.html:22
test: 250мс tst.html:29
test: таймер запущен tst.html:22
test: 234мс tst.html:29
chrome:
test: 42.000ms
tst.html:29 test: 1216.000ms
tst.html:29 test: 2847.000ms
tst.html:29 test: 372.000ms
tst.html:29 test: 5529.000ms
tst.html:29 test: 5997.000ms
tst.html:29 test: 553.000ms
tst.html:29 test: 3872.000ms
tst.html:29 test: 6676.000ms
Визуально на хроме это выглядит еще более отвратно, хочеться взять и у*бать.