Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Страница 2 из 4 ПерваяПервая 1 2 3 4 ПоследняяПоследняя
Показано с 11 по 20 из 36

Тема: /cc (ZCMD/DC_CMD)

  1. #11
    Аватар для Daniel_Cortez
    "Это не хак, это фича"

    Статус
    Оффлайн
    Регистрация
    06.04.2013
    Адрес
    Novokuznetsk, Russia
    Сообщений
    2,192
    Репутация:
    2589 ±
    Цитата Сообщение от Geebrox Посмотреть сообщение
    Код:
    new i = 100;
    to

    Код:
    new i[1 char];
    i{0} = 100;
    И в чём профит (кроме мазохизма с массивом из 1 элемента)?
    Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).

  2. #12
    Аватар для Nexius_Tailer
    Пользователь

    Статус
    Оффлайн
    Регистрация
    04.01.2015
    Адрес
    Гомель, Беларусь
    Сообщений
    547
    Репутация:
    158 ±
    Цитата Сообщение от Geebrox Посмотреть сообщение
    Код:
    new i = 100;
    to

    Код:
    new i[1 char];
    i{0} = 100;
    Какой толк экономить память (да ещё и такое ничтожное количество), если процессорное время дороже?

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

    Статус
    Оффлайн
    Регистрация
    08.12.2015
    Адрес
    San Fierro
    Сообщений
    217
    Репутация:
    39 ±
    Микрооптимизации вообще невыгодны по своей сути.

  4. #14
    Аватар для L0ndl3m
    Пользователь

    Статус
    Оффлайн
    Регистрация
    19.10.2013
    Адрес
    Ярославль
    Сообщений
    1,366
    Репутация:
    774 ±
    Цитата Сообщение от Daniel_Cortez Посмотреть сообщение
    И в чём профит (кроме мазохизма с массивом из 1 элемента)?
    Тем более обращение к ячейке массива всегда медленнее, чем обращение к обычной переменной.

  5. #15
    Аватар для Daniel_Cortez
    "Это не хак, это фича"

    Статус
    Оффлайн
    Регистрация
    06.04.2013
    Адрес
    Novokuznetsk, Russia
    Сообщений
    2,192
    Репутация:
    2589 ±
    Цитата Сообщение от Nexius_Tailer Посмотреть сообщение
    Какой толк экономить память (да ещё и такое ничтожное количество), если процессорное время дороже?
    Цитата Сообщение от Londlem Посмотреть сообщение
    Тем более обращение к ячейке массива всегда медленнее, чем обращение к обычной переменной.
    Дело даже не в этом.

    Если честно, я надеялся получить ответ от Geebrox, но раз он решил покинуть сию тему, мне придётся самому расставить точки над "ё".
    Никто не заметил самого главного: никакой "экономии памяти" в том подходе с "1 char" нет. Нельзя сделать массив размером в четверть ячейки, полторы ячейки, etc. - в любом случае размер будет округлён до целой ячейки, так работает оператор char.
    Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).

  6. Пользователь сказал cпасибо:
    Unreal (18.08.2016)
  7. #16
    Аватар для Nash_Brigers
    Пользователь

    Статус
    Оффлайн
    Регистрация
    06.03.2016
    Адрес
    Moscow
    Сообщений
    167
    Репутация:
    44 ±
    Цитата Сообщение от Daniel_Cortez Посмотреть сообщение
    Дело даже не в этом.

    Если честно, я надеялся получить ответ от Geebrox, но раз он решил покинуть сию тему, мне придётся самому расставить точки над "ё".
    Никто не заметил самого главного: никакой "экономии памяти" в том подходе с "1 char" нет. Нельзя сделать массив размером в четверть ячейки, полторы ячейки, etc. - в любом случае размер будет округлён до целой ячейки, так работает оператор char.
    Я хотел об этом написать, но после того как Londlem не обратил на это внимания - решил не вмешиваться))
    Последний раз редактировалось Nash_Brigers; 11.05.2016 в 17:37.

  8. #17
    Аватар для Nexius_Tailer
    Пользователь

    Статус
    Оффлайн
    Регистрация
    04.01.2015
    Адрес
    Гомель, Беларусь
    Сообщений
    547
    Репутация:
    158 ±
    Цитата Сообщение от Daniel_Cortez Посмотреть сообщение
    Дело даже не в этом.

    Если честно, я надеялся получить ответ от Geebrox, но раз он решил покинуть сию тему, мне придётся самому расставить точки над "ё".
    Никто не заметил самого главного: никакой "экономии памяти" в том подходе с "1 char" нет. Нельзя сделать массив размером в четверть ячейки, полторы ячейки, etc. - в любом случае размер будет округлён до целой ячейки, так работает оператор char.
    А я проверил. Вышло вроде даже больше в итоге, но даже если бы это работало, лично я не вижу смысла от такого экономия памяти вообще, потому что чаще всего ради этого жертвуется скорость, которая важнее.

  9. #18
    Аватар для Geebrox
    Пользователь

    Статус
    Оффлайн
    Регистрация
    24.08.2015
    Адрес
    Ташкент
    Сообщений
    375
    Репутация:
    97 ±
    Разве я писал что так будет быстрее или памяти меньше уйдет?
    Я не просто так поставил этот смайл:
    Мда, критики уровень "Бог"
    Если я хотел бы что то доказать, я обязательно об этом написал бы...

  10. #19
    Аватар для Daniel_Cortez
    "Это не хак, это фича"

    Статус
    Оффлайн
    Регистрация
    06.04.2013
    Адрес
    Novokuznetsk, Russia
    Сообщений
    2,192
    Репутация:
    2589 ±
    Цитата Сообщение от Geebrox Посмотреть сообщение
    Разве я писал что так будет быстрее или памяти меньше уйдет?
    Я не просто так поставил этот смайл:
    Мда, критики уровень "Бог"
    Если я хотел бы что то доказать, я обязательно об этом написал бы...
    Всегда удивлялся таким людям: сначала напакостят в теме, а потом пытаются в чём-то обвинить других.
    Я не знаю, пытались ли вы намеренно ввести других пользователей в заблуждение, что-то предложить, не зная теории, или это был просто троллинг - в любом случае начали это вы, и теперь ваша попытка выставить себя белым и пушистым выглядит цинично.
    Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).

  11. Пользователь сказал cпасибо:
    Nash_Brigers (12.05.2016)
  12. #20
    Аватар для Daniel_Cortez
    "Это не хак, это фича"

    Статус
    Оффлайн
    Регистрация
    06.04.2013
    Адрес
    Novokuznetsk, Russia
    Сообщений
    2,192
    Репутация:
    2589 ±
    Исправлен краш, возникавший при использовании стандартного компилятора Pawn (до этого я использовал при тестировании только модифицированный компилятор от Zeex). Суть в том, что если использовать #emit сразу же после блока if, то созданные с помощью #emit инструкции почему-то попадают в тот блок.
    Иными словами, код
    PHP код:
            if(i==0)
                
    SendClientMessageToAll(0str);
            
    #emit    push.c        str
            #emit    push.c        0xFFFFFFFF
            #emit    push.c        8 
    превращается компилятором в
    PHP код:
        if(i==0)
        {
            
    SendClientMessageToAll(0str);
            
    #emit    push.c        str
            #emit    push.c        0xFFFFFFFF
            #emit    push.c        8
        

    Zeex уже знает об этом баге, но ещё не исправил его в своей версии компилятора.

    Проблема проявлялась только при использовании стандартного компилятора, т.к. только при его использовании компилировался блок if. Решена она была следующим образом: после блока if я добавил "i = 100;" - это действие не имеет никакого смысла (т.к. переменная i уже создаётся с изначальным значением 100), но позволяет отделить #emit от if.
    PHP код:
        if(i==0)
            
    SendClientMessageToAll(0str);
        
    100;
        
    #emit    push.c        str
        #emit    push.c        0xFFFFFFFF
        #emit    push.c        8 
    Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).

  13. Пользователь сказал cпасибо:
    vovandolg (14.08.2016)
 

 
Страница 2 из 4 ПерваяПервая 1 2 3 4 ПоследняяПоследняя

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

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

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

Метки этой темы

Ваши права

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