SA-MP Forums

Go Back   SA-MP Forums > Non-English > Languages > Русский/Russian

Reply
 
Thread Tools Display Modes
Old 26/03/2014, 06:40 PM   #1201
Stepashka
Godfather
 
Stepashka's Avatar
 
Join Date: Jul 2008
Location: near PC
Posts: 5,465
Reputation: 131
Default Re: Оптимизация кода

Quote:
Originally Posted by Dragunovje View Post
аккаунт грузится за 3 мс,почему так много?...
ps: мне не нужно предлагать выкинуть мод,просто подскажите)
Слишком много вызываемых функций.
static stock а чего не все прописал, а вдруг понадобятся?
__________________
Клятва Страуструпа: "Я обязуюсь прилежно комментировать свой код, не использовать goto и следить за состоянием своих потоков и выделяемой памяти. Я обязуюсь не оставлять мусора в системе и избегать однобуквенных переменных. Ресет." © Куч
M&M GM
Status: ON HOLD

Stepashka is offline   Reply With Quote
Old 26/03/2014, 08:15 PM   #1202
Dragunovje
Big Clucker
 
Join Date: Nov 2013
Posts: 77
Reputation: 0
Default Re: Оптимизация кода

Quote:
Originally Posted by Stepashka View Post
Слишком много вызываемых функций.
static stock а чего не все прописал, а вдруг понадобятся?
static stock нужно убрать? или вообще сток почистит от фигни?)
Dragunovje is offline   Reply With Quote
Old 26/03/2014, 08:25 PM   #1203
Dragunovje
Big Clucker
 
Join Date: Nov 2013
Posts: 77
Reputation: 0
Default Re: Оптимизация кода

Quote:
Originally Posted by KriD View Post
А за сколько мс вы хотите, чтобы он загружался? 0,01мс?)
1мс)
Dragunovje is offline   Reply With Quote
Old 30/03/2014, 07:58 AM   #1204
Urukhay
Gangsta
 
Join Date: Sep 2013
Posts: 638
Reputation: 2
Default Re: Оптимизация кода

Что оптимальней и лучше? Будем брать в расчет постоянный онлайн в 1000 человек.
1) SetTimerEx - Если на сервере будет играть 1000 человек, предположим что частота вызова данной функции (для отсчета различных временных едениц функций) достигнет 50, а возможно и 100 вызовов в секунду. (По теории вероятности вообще возможно больше.).
2) Создать глобальный секундный таймер. Создаем в нем цикл, каждую секунду прочесываем цикл и проверяем отсчитываем по PVar.
Urukhay is offline   Reply With Quote
Old 31/03/2014, 03:22 AM   #1205
OKStyle
High-roller
 
OKStyle's Avatar
 
Join Date: May 2008
Location: Russia
Posts: 3,062
Reputation: 117
Default Re: Оптимизация кода

Опять 25. Уже 100500 раз говорили, что если действие одновременно для всех - то лучше глобальный таймер, а если действия запускается персонально в разные периоды времени - лучше персональный.
__________________
O.K.Style™ Laboratory
Kalcor: "... it's makes the game look like it's not GTA. This mod is called San Andreas Multiplayer. It's not a custom game engine which you can script..."
OKStyle is offline   Reply With Quote
Old 11/04/2014, 05:29 AM   #1206
Dragunovje
Big Clucker
 
Join Date: Nov 2013
Posts: 77
Reputation: 0
Default Re: Оптимизация кода

Quote:
Originally Posted by ZiGGi View Post
Всем, кто использует strtok посвящается. Решил сравнить скорость работы strtok и strcharsplit.

Функции
Code:
stock strtok(const string[], &index, seperator=' ')
{
	new length = strlen(string);
	while ((index < length) && (string[index] <= seperator))
	{
		index++;
	}
 
	new offset = index;
	new result[20];
	while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
	{
		result[index - offset] = string[index];
		index++;
	}
	result[index - offset] = EOS;
	return result;
}
Code:
stock strcharsplit(const string[], &index, seperator=' ')
{
	new result[20],
		idxpos = index,
		len = strlen(string);
	for (new i=index;i<len;i++)
	{
	    index++;
		if (string[i] == seperator || string[i] == 0) break;
		result[i-idxpos] = string[i];
	}
	return result;
}
Скрипт
Code:
new string[128] = "Pe4eneg Rulit Vsegda Oga";
new str[64];
new idx = 0;
// ----------
new tick = GetTickCount();
for (new i=0;i<100000;i++)
{
	str = strtok(string,idx,' ');
	str = strtok(string,idx,' ');
	str = strtok(string,idx,' ');
	str = strtok(string,idx,' ');
}
printf("strtok: %d",GetTickCount() - tick);
// ----------
idx = 0;
tick = GetTickCount();
for (new i=0;i<100000;i++)
{
	str = strcharsplit(string,idx,' ');
	str = strcharsplit(string,idx,' ');
	str = strcharsplit(string,idx,' ');
	str = strcharsplit(string,idx,' ');
}
printf("strcharsplit: %d",GetTickCount() - tick);
Результаты
Code:
strtok: 701
strcharsplit: 522

strtok: 745
strcharsplit: 550

strtok: 673
strcharsplit: 514
Вывод
Функция strcharsplit быстрее strtok примерно на 25%. Но, почему-то strtok предлагается в википедии...
в 2 функции резулт надо больше делать,ибо будет баг как на скрилаксе
"................................................. ..текст" = общий чат.
Dragunovje is offline   Reply With Quote
Old 11/04/2014, 08:39 AM   #1207
Stepashka
Godfather
 
Stepashka's Avatar
 
Join Date: Jul 2008
Location: near PC
Posts: 5,465
Reputation: 131
Default Re: Оптимизация кода

Quote:
Originally Posted by Dragunovje View Post
в 2 функции резулт надо больше делать,ибо будет баг как на скрилаксе
"................................................. ..текст" = общий чат.
Тебе актуален пост 3х летней давности?!
__________________
Клятва Страуструпа: "Я обязуюсь прилежно комментировать свой код, не использовать goto и следить за состоянием своих потоков и выделяемой памяти. Я обязуюсь не оставлять мусора в системе и избегать однобуквенных переменных. Ресет." © Куч
M&M GM
Status: ON HOLD

Stepashka is offline   Reply With Quote
Old 11/04/2014, 02:40 PM   #1208
Dragunovje
Big Clucker
 
Join Date: Nov 2013
Posts: 77
Reputation: 0
Default Re: Оптимизация кода

Quote:
Originally Posted by Stepashka View Post
Тебе актуален пост 3х летней давности?!
листал страницы с 1,увидел - отписался,дабы далее не наступали на старые грабли)
Dragunovje is offline   Reply With Quote
Old 11/04/2014, 07:13 PM   #1209
ZiGGi
High-roller
 
ZiGGi's Avatar
 
Join Date: Sep 2008
Location: Russia
Posts: 1,718
Reputation: 334
Default Re: Оптимизация кода

Quote:
Originally Posted by Dragunovje View Post
в 2 функции резулт надо больше делать,ибо будет баг как на скрилаксе
"................................................. ..текст" = общий чат.
В первой функции result такого же размера.
ZiGGi is offline   Reply With Quote
Old 12/04/2014, 02:10 AM   #1210
Dragunovje
Big Clucker
 
Join Date: Nov 2013
Posts: 77
Reputation: 0
Default Re: Оптимизация кода

Quote:
Originally Posted by ZiGGi View Post
В первой функции result такого же размера.
однако strtok надежнее)
Dragunovje is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off



All times are GMT. The time now is 03:54 PM.


Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.