Здравствуйте.
Не знаю, в тот ли раздел задаю вопрос, поэтому сразу извиняюсь.
Был написан скрипт, который по-разному работал на в браузере IE и Opera. Для диагностики проблемы был написан простенький скрипт, который приведён ниже:
<html>
    <head>
        <script>
            time_int = 1
            time_array = new Array()
            function get_time() {
                var wdata = new Date()
                return wdata.getMilliseconds() + (wdata.getSeconds() * 1000)
            }
            time_start = get_time()
            t1 = setTimeout(start, time_int)
            function start() {
                time_end = get_time() 
                delta = time_end - time_start
                time_array[time_array.length] = delta
                if (time_array.length != 100) {
                    time_start = get_time()
                    t2 = setTimeout(start, time_int)
                }
                else {
                    print_array()
                }
            }
 
            function print_array() {
                st = "" 
                for (i = 0; i < 100; i++) {
                    st = st + time_array[i] + " " 
                }
                alert(st)
            }
        </script>
    </head>
    <body>
    </body>
</html>
Суть следующая: берётся отметка времени, запускается функция 
setTimeout с заданным интервалом, снова берётся отметка времени, вычисляется разница времён. Так делается 100 раз. Ожидалось что эти разности времён примерно будут равны заданному интервалу.
Результат, который был получен в Опере: от 0 до 4, куча единиц.
Результат, который был получен в IE: от 8 до 21, в основном числа около 15.
Далее 
time_int увеличивал. В Опере всегда всё хорошо, а IE вплоть где-то до 25 показывал не то что хочеться.
Вопросы такие:
1) С чем это связано? IE тормоз, JS в IE тормозит, функция 
setTimeout в IE как-то по-другому работает или что ?
2) Мне необходимо некоторую функцию запускать каждые допустим 5 милисекунд. Как это можно сделать? (кроме как через setTimeout)
Благодарю.