[Pawno-Урок]Оптимизация кода
|
|
Дата: 10.06.2011, Пятница, 17:58:24 | Сообщение # $NUMBER
Группа: Проверенные
Сообщений: 627
Опубликовано по просьбе Kozz-Porno, автором так же является он.
...switch/case...
Во первых,скажу сразу,что switch/case жрёт меньше чем if,else,и работает ускоренно,по этому,во многих случаях,советую вам его использовать. Использовать switch/case нужно так:
Ниже { в паблике ставите: Quote switch(глфункция) { case 0: { функция которую используем в гл.функции } } Ещё,если у вас функция одна,то вы можете вместо: Code case 0: { функция которую используем в гл.функции } Сделать Code case 0: функция которую используем в гл.функции
А теперь,давайте посмотрим наглядный пример: Code public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { if(dialogid == 0) { функция); } return 1; } Это стандартный код на if/else,а сейчас посмотрим на новый код с switch/case:
Code public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { switch(dialogid)//включаем оператор { case 0: //если одна функция то можно вот так: case 0: функция); { функция); } } return 1; } ..bool.. Надеюсь многие слышали о bool,true,false,так вот,он занимает всеголишь несколько байт памяти,многие используют во многих модах типо таких проверок:
IsPlayerLogin[playerid] = 1; // Стандартная проверка
IsPlayerLogin[playerid] = true;// Проверка относится к bool.
Попробуем сделать наже божество : К своей переменной,добавляем bool:,пример: new IsPlayerLogin[MAX_PLAYERS];
Когда сделали bool:,должно получиться так: new bool:IsPlayerLogin[MAX_PLAYERS];
И теперь,ищем везде ваше название переменной: IsPlayerLogin и заменяем рядом в IsPlayerLogin[playerid] = 1; единицу на true,если будет 0,то на false.
Ждите следущего урока.Удачи,и хорошего умения!
Опубликовано по просьбе Kozz-Porno, автором так же является он.
|
|
|
Дата: 10.06.2011, Пятница, 18:01:21 | Сообщение # $NUMBER
Группа: Проверенные
Сообщений: 163
Спасибо велька.:)
|
|
|
Дата: 11.06.2011, Суббота, 13:20:21 | Сообщение # $NUMBER
Группа: Проверенные
Сообщений: 50
Ерудна, некоторые до сих пор dini юзают и в своих гф модах используют паблик onPlayerUpdate для сохранения. Так что биты считать глупо.
|
|
|
Дата: 11.06.2011, Суббота, 14:39:37 | Сообщение # $NUMBER
Группа: Проверенные
Сообщений: 163
Quote (kimi) Ерудна, некоторые до сих пор dini юзают и в своих гф модах используют паблик onPlayerUpdate для сохранения. Так что биты считать глупо. Ну вот например.в моём моде с 0,паблик OnPlayerUpdate не юзается,мод жрёт мало,биты считать не глупо,причем так можно составить нехилый инклуд который будет сопоставлять оптимизированые функции сохранения,и.т.п,по этому,никапельки,ну а плюс за урок мог бы и дать.:DДобавлено (11.06.2011, 14:39:37) --------------------------------------------- Надо будет сравнить.
|
|
|
Дата: 11.06.2011, Суббота, 19:56:22 | Сообщение # $NUMBER
Группа: Проверенные
Сообщений: 50
Kozz-Porno, ok выиграеш ты пару тиков, разве это стоит потраченного времени? На работе мода и на интересе для игроков это не отразиться никак.
|
|
|
Дата: 11.06.2011, Суббота, 21:14:48 | Сообщение # $NUMBER
Группа: Проверенные
Сообщений: 163
Quote (kimi) Kozz-Porno, ok выиграеш ты пару тиков, разве это стоит потраченного времени? На работе мода и на интересе для игроков это не отразиться никак. Ну мне лично оптимизированый код больше смотрится лучше,да и как то,если онлайн под 100,представькак лагать будет ,по этому,отразится.
|
|
|
Дата: 11.06.2011, Суббота, 21:30:07 | Сообщение # $NUMBER
Группа: Проверенные
Сообщений: 627
Quote (Kozz-Porno) если онлайн под 100,представькак лагать будет ,по этому,отразится. Изза "битов" лагать не будет, это уже совсем другое. Например при юзании циклов может отразиться, а так то не особо.
P.S. - Юзайте foreach by Y_Less, самый быстрый способ. Проверено.
|
|
|
Дата: 11.06.2011, Суббота, 21:34:24 | Сообщение # $NUMBER
Группа: Проверенные
Сообщений: 163
Quote (Soup_Mc) Изза "битов" лагать не будет, это уже совсем другое. Например при юзании циклов может отразиться, а так то не особо.
P.S. - Юзайте foreach by Y_Less, самый быстрый способ. Проверено. Да кстати,очень хорошая оптимизация циклов),можно сказать Самая лучшая,я наверное в своём моде поюзаю её)
|
|
|
Дата: 11.06.2011, Суббота, 22:41:07 | Сообщение # $NUMBER
Группа: Проверенные
Сообщений: 267
Если использовать нормальный хостинг оптимизация никак не отразится на работе сервера.
|
|
|
Дата: 11.06.2011, Суббота, 22:45:19 | Сообщение # $NUMBER
Группа: Проверенные
Сообщений: 163
Quote (kAdmin) Если использовать нормальный хостинг оптимизация никак не отразится на работе сервера. Да,ты прав,но фтп же не бесконечный.;),да и логи занимают много.
|
|
|
Дата: 12.06.2011, Воскресенье, 08:41:24 | Сообщение # $NUMBER
Группа: Проверенные
Сообщений: 627
Quote (kAdmin) Если использовать нормальный хостинг оптимизация никак не отразится на работе сервера. + специальные плагины, которые оптимизирует потоки Quote (Kozz-Porno) Да,ты прав,но фтп же не бесконечный.;),да и логи занимают много. лолчто? я не думаю, что мод будет занимать ТАК много место, и повторяю, речь идет о БИТАХ.
|
|
|
Дата: 12.06.2011, Воскресенье, 08:56:30 | Сообщение # $NUMBER
Группа: Проверенные
Сообщений: 163
Иногда будет,АМРП,весит 43 мб,омг,+ логи.
|
|
|
Дата: 12.06.2011, Воскресенье, 09:21:42 | Сообщение # $NUMBER
Группа: Проверенные
Сообщений: 50
Ну если у хостера вместо HDD стоят FDD, то да
|
|
|
Дата: 12.06.2011, Воскресенье, 09:22:49 | Сообщение # $NUMBER
Группа: Проверенные
Сообщений: 163
Quote (kimi) Ну если у хостера вместо HDD стоят FDD, то да
|
|
|
Дата: 12.06.2011, Воскресенье, 10:17:44 | Сообщение # $NUMBER
Группа: Проверенные
Сообщений: 627
Quote (Kozz-Porno) Иногда будет,АМРП,весит 43 мб,омг,+ логи. AMRP весил 4 метра, нагрузка была 43, и 20 из них изза MidoStream.
|
|
|