Цикл (Вопрос)
#1

Какой вариант будет быстрей работать при большом онлайне?
PHP Code:
for(new playerid 0playerid != 500playerid++) {
    if(
IsPlayerConnected(playerid)) {
        
// Код
    
}

или
PHP Code:
for(new playerid 0playerid != 500playerid++) {
    if(!
IsPlayerConnected(playerid)) continue;
    
// Код

Тестировал на сервере с онлайном 1, разницы вроде нету. Но вот интересно если будет онлайн большой какой вариант победит? Или же они одинаковы по скорости?

По идея я думаю вариант 2 должен быть быстрее так как он сразу же если игрока нету под идом начинает проверять нового, а первый должен дойти до конца хоть и не выполнит код который написан в (// Код )
Reply
#2

они одинаковы по скорости.
Reply
#3

В данном случае разницы нет, так как проверка она и в Африке проверка.
Но я знаю, по крайней мере кто то писал, что декрементация быстрее инкрементации.
То есть используйте такой вид:
pawn Code:
for(new pl = GetMaxPlayers(); pl != -1; pl--)
{
       if(!IsPlayerConnected(pl)) continue;
       // если подключен
}
Reply
#4

Quote:
Originally Posted by Urukhay
View Post
В данном случае разницы нет, так как проверка она и в Африке проверка.
Но я знаю, по крайней мере кто то писал, что декрементация быстрее инкрементации.
То есть используйте такой вид:
pawn Code:
for(new pl = GetMaxPlayers(); pl != -1; pl--)
{
       if(!IsPlayerConnected(pl)) continue;
       // если подключен
}
pawn Code:
for(new playerid = 0; playerid != 500; ++playerid)
Reply
#5

Надо ж быть таким лолом, чтобы такое написать:
ты не поверишь, но
var--;
равносильно
var=var-1;
что в свою очередь равносильно
var=var + 0xFFFFFFFF; // вкуси перца

А вот пост- и пре- инкрементация/декрементация уже может различаться.(добавлено: Степаш о том же)
Reply
#6

Грубо:
Code:
var++
function(&var){
	new tempVar = var;
	var = var + 1;
	return tempVar;
}

++var
function(&var){
	var = var + 1;
	return var;
}
var--
function(&var){
	new tempVar = var;
	var = var - 1;
	return tempVar;
}

--var
function(&var){
	var = var - 1;
	return var;
}
разницу чуем?
Если так нужно посмотреть точную начинку - ищите по форуму, dimonml выкладывал код того что получается после компиляции.


ВАЖНО: Скорости не добавит, компилятор не дурак и все это приводит к наиболее оптимальному виду.
Reply
#7

Спасибо за ответы.

Stepashka, если можно закройте тему пожалуйста так как по данной теме больше вопросов у меня нету.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)