Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 4 из 4
  1. #1
    Аватар для punkochel
    Пользователь

    Статус
    Оффлайн
    Регистрация
    08.12.2018
    Адрес
    Россия
    Сообщений
    146
    Репутация:
    25 ±

    Стоит ли записывать значение массива в переменную для оптимизации?

    Всем привет. Глядя на свой код я задумался, какой вариант будет работать быстрее и выглядеть более верным?

    Вариант 1: Использование массива напрямую.
    Код:
    if(true)
    {
        SetVehiclePos(PlayerVehicleID[playerid], HouseInfo[PlayerInfo[playerid][pHouseID]][hCarPosX], HouseInfo[PlayerInfo[playerid][pHouseID]][hCarPosY], HouseInfo[PlayerInfo[playerid][pHouseID]][hCarPosZ]);
    }


    Вариант 2: Использование переменной, предварительно записав в нее данные с массива.
    Код:
    if(true)
    {
        new houseid = PlayerInfo[playerid][pHouseID];
        SetVehiclePos(PlayerVehicleID[playerid], HouseInfo[houseid][hCarPosX], HouseInfo[houseid][hCarPosY], HouseInfo[houseid][hCarPosZ]);
    }

  2. #2
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  3. #3
    Аватар для punkochel
    Пользователь

    Статус
    Оффлайн
    Регистрация
    08.12.2018
    Адрес
    Россия
    Сообщений
    146
    Репутация:
    25 ±
    Второй вариант совсем на чуть чуть быстрее.

  4. #4
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Именно. Ибо обращение к одиночной переменной будет быстрее, нежели к массиву. Так как обращение к массиву происходит не по прямому адресу (как в случае с переменной), а по адресу нулевой ячейки с прибавлением порядкового номера нужной ячейки.

    Как я понимаю, ответ получен, так что закрыто.
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  5. Пользователь сказал cпасибо:
    punkochel (26.12.2022)
 

 

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •