Pawn. Оптимизация циклов игроков

Замутил тестик всех способов создания циклов «MAX_PLAYERS» с использованием OnPlayerConnect и OnPlayerDisconnect(ведь тики на них тоже тратятся).

В тесте ID’ы подключающихся различны на 10, поэтому способы, которые запоминают все имеющиеся ID’ы будут лидировать.

Код тут: http://pastebin.com/JUCRZDDY

Результаты:

IsPlayerConnected: 509
GetMaxPlayers: 503
GetPlayerLastID: 591 (мною модифицированный способ от Alex009)
PLID: 187 (предложенный вариант)
foreach: 246 (foreach от Y_Less’a)
foreach_step: 647 (foreach который опубликовал степашка)

 
 

Дальше я решил количество подключений и отключений привести к более реальному количеству.

Код тут: http://pastebin.com/VP6CR7fv

Результаты:

IsPlayerConnected: 888
GetMaxPlayers: 304
GetPlayerLastID: 2169 (мною модифицированный способ от Alex009)
PLID: 145 (предложенный вариант)
foreach: 123 (foreach от Y_Less’a)
foreach_step: 134 (foreach который опубликовал степашка)
forscan: 168 (forscan от Jester(более удобный PLID))

Тут результаты куда более приятнее. Забавно, что способ с GetPlayerLastID стал работать в несколько раз медленнее.

Собственно я делаю выбор за foreach Y_Less’а — быстро, удобно, функционально.

  • Parlament

    Побольше выкладывал бы литературы :) Я мало что понимаю, но всё мне интересно почитать. Так что успехов с новыми начинаниями :)

  • Кирилл

    Спасибо…Да не помещало бы книжец :).

    • ZiGGi

      Предлагайте темы, которые вам интересны, я постараюсь написать об этом.

      • Кирилл

        Мне кажется было бы интересно многим если бы кто нибудь сделал по этапно(Допустим серию уроков) как создать ДМ или ТДМ к примеру…Причём создавать не просто раставить машины и пораскидать пикапы — А к примеру создать какую нибудь интересную команду,идею,интересную возможность в моде или ещё что нибудь подобное. Согласитесь намного продуктивней будет обучение если показать человеку как делать что то на уже рабочем коде а не тыкать ему непонятные для новичка примеры с яблоками (Допустим). Вики от этого и страдает то что там примеры все на спичках. Хоть они и полезные для разработчика они не полезны для новичка или просто для человека который пришел поугорать. К примеру сделать 4 урока :
        1. Введение

        2. Основные моменты (растановка машин , пикапы и всякие украшательства)

        3. Оттачивание сервера (Всякие фичи и команды)

        4. Защита (Античиты и тд допустим)

        ВСЁ ЧТО ПРЕДСТАВЛЕНО ВЫШЕ — ИМХО!
        Мы и так благодарны за труд :)

Перейти к верхней панели