setInterval vs for Что лучше?:)
Создаю сервер для онлайн игры.
Встал вопрос, как лучше оптимизировать работу. Например на сервере есть 1000 игроков. Каждые 0.2 сек нужно каждому отправить данные. Что лучше? - Создать 1000-чу setInterval(..., 200) для каждого игрока и выполнять в каждом необходимые функции. - Создать 1 for(obj in array) обходящий 1000 элементов в 1 setInterval(..., 200). Буду очень рад услышать Ваши мысли по этому поводу. |
Dorian_bs,
Создать функцию Которая будет вызывать сама себя. Со setTime тра та та. Присвоить каждому игроку id целочисленному. И всё. |
Но с for тоже можно. Если не страшно забить всю ОЗУ
|
koeshiro, то есть Вы считаете данный вариант наиболее оптимизированным? Без использования for и setInterval?
|
Dorian_bs,
да. Ибо насколько знаю после выполнения функции и её перезапуска данные о ней перезаписываются. А вот с for по другому. Всё время все данные остаются. Если пишите на php не забывайте что стандартное время выполнение скрипта до 30 сек. |
koeshiro, Вы это имеете ввиду?
updata = function (user) { // выполняем необходимые функции setTimeout(function () { updata(user); }, 200); } updata('123456789'); // инициализируем пользователя PS: нет, я пишу на NodeJS |
Dorian_bs,
Не совсем. Пример: function globalfun(num){ var i=0; function tra-ta-ta(){ //Ваш код var s=setTimeOut(function () {tra-ta-ta()},200); if(i=>num){cleatInterval(s);} Вызывать функцию надо после выполнения кода =) |
koeshiro, не сильно понял Вашего кода)
Во первых. У нас не используется интервал, а вы пытаетесь его очистить. Во вторых переменная "i" всегда равна 0. |
koeshiro, и еще, на сколько я знаю - setTimeout сам очищается после выполнения.
|
Dorian_bs, i=0? Ясен пень. Ибо в вашем коде должно быть i++ =) А clearInterval написал потому что привычка уже. С надеждой что вы поймёте меня, поймёте мой пример. Хотя надо было писать словами. =)
|
Часовой пояс GMT +3, время: 06:32. |