maksam07 Posted September 19, 2015 Share Posted September 19, 2015 (edited) Всем привет. Интересуют такие несколько вопросов: 1. Что лучше: setTimer ( _, 3600000, 1 ) или setTimer ( _, 60000, 60 )? По сути один и тот же таймер, только обновление функции раз в час или 60 раз в минуту, но какой меньше будет нагружать сервер? 2. Нагружают ли сервер таймеры, созданные на клиентской части (лично я думаю что они нагружают комп клиента, но не сервер)? Edited September 21, 2015 by Guest Link to comment
Kenix Posted September 19, 2015 Share Posted September 19, 2015 Вопрос не совсем правильно задан. Ты бы лучше написал что ты пытаешься сделать, а мы бы тебе посоветовали как лучше поступить. Может ты делаешь миллион итераций в этой функции, мы же не знаем. Link to comment
Other Languages Moderators Disinterpreter Posted September 19, 2015 Other Languages Moderators Share Posted September 19, 2015 Всем привет.Интересуют такие несколько вопросов: 1. Что лучше: setTimer ( _, 3600000, 1 ) или setTimer ( _, 60000, 60 )? По сути один и тот же таймер, только обновление функции раз в час или 60 раз в минуту, но какой меньше будет нагружать сервер? Пока писал этот вопрос, забыл о втором, позже напишу, если вспомню Не занимайтесь байтодебильством, без разницы. Даже в сампе такого трешака нет. Link to comment
STAWR Posted September 19, 2015 Share Posted September 19, 2015 Если раз в час не слишком редко, то конечно один раз. Вопрос не совсем правильно задан. Ты бы лучше написал что ты пытаешься сделать, а мы бы тебе посоветовали как лучше поступить. Может ты делаешь миллион итераций, мы же не знаем. функция одна и та же, что при обработке раз в час, что раз в минуту Link to comment
K1parik Posted September 19, 2015 Share Posted September 19, 2015 как я думаю, сервер не особо и заметит этот таймер. тут все от самой функции зависит Link to comment
maksam07 Posted September 19, 2015 Author Share Posted September 19, 2015 Вопрос не совсем правильно задан. Ты бы лучше написал что ты пытаешься сделать, а мы бы тебе посоветовали как лучше поступить. Может ты делаешь миллион итераций в этой функции, мы же не знаем. Нет, к примеру пустая функция. Меня просто интересует какой тип больше грузит сервер. Если оба одинаково - то окей. Link to comment
Elengar Posted September 20, 2015 Share Posted September 20, 2015 Эм... да? В любом случае, даже если функция пустая, 1 вызов < 60 вызовов функции. Так что больше таймеров дают больше нагрузки, чем один. Link to comment
maksam07 Posted September 21, 2015 Author Share Posted September 21, 2015 Так что больше таймеров дают больше нагрузки, чем один. Этот ответ меня устроил, спасибо за отклик. Link to comment
maksam07 Posted September 21, 2015 Author Share Posted September 21, 2015 Вспомнил второй вопрос, в шапке. Link to comment
Other Languages Moderators Disinterpreter Posted September 21, 2015 Other Languages Moderators Share Posted September 21, 2015 2. Нагружают ли сервер таймеры, созданные на клиентской части (лично я думаю что они нагружают комп клиента, но не сервер)? Правильно думаете. Link to comment
maksam07 Posted September 21, 2015 Author Share Posted September 21, 2015 Правильно думаете. Благодарен за ответ. Всегда боялся плохой оптимизации сервера, но сейчас Вы решили несколько моих проблем. Все же ясно что сотню таймеров с обновлением в секунду не желательно делать Link to comment
Kernell Posted September 24, 2015 Share Posted September 24, 2015 Да хоть миллион сделайте, ничего это не изменит. Нагрузка будет зависеть лишь от самой функции. Вы можете сделать одну функцию которая повесит сервер\клиент. Так или иначе в МТА происходят тики, которые срабатывают по несколько раз в миллисекунду. Link to comment
Fabervox Posted October 17, 2015 Share Posted October 17, 2015 Мне кажется не очень корректный вопрос, в плане оценки производительности setTimer(). Если уж так, то целесообразней думать о чем-то таком: function a() print("a") end function b() print("b") end function c() print("c") end --так setTimer(a(),100,1) setTimer(b(),200,1) setTimer(c(),300,1) --или так local current = 1 function exet() if current == 1 then a() elseif current == 2 then b() elseif current == 3 then c() end setTimer(exet(),current * 100,1) current = current + 1 end Возможно об этом и думал ТС. Link to comment
N1kS Posted October 17, 2015 Share Posted October 17, 2015 Покажите саму функцию, пожалуйста. Нагрузка на сервер зависит именно от функции. Если функция сама по себе емкая, то при таймере 60000, 60 - вы будете нагружать сервер 60 раз, при 3600000, 1 - один раз. Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now