06:35
ОбновитьСмайлыУправление мини-чатом
МИНИ-ЧАТ
Главная страница!

 



 
          





Рекомендуем:





Последние Файлы GTA 4 Последние Файлы GTA-MP Реклама
Скрипт GTA 4 элементы Watch... 07.09.2014
Ferrari 360 Spider [EPM con... 13.12.2013
Porsche Cayenne Turbo 2012 ... 13.12.2013
Shelby Terlingua Mustang v1... 13.12.2013
Hamann Lamborghini Gallardo... 27.10.2013
[GM] The Big PEN1:LS v2.00 ... 04.12.2017
Dgun (AvnanceRP,SampRP,Dimo... 19.03.2016
SAMP скрипт SX Events (MySQ... 03.03.2016
Карта ASL мэрия для SAMP се... 03.03.2016
AIM для SA-MP 0.3.7 22.02.2016
  • Страница 3 из 3
  • «
  • 1
  • 2
  • 3
Модератор форума: Dima-kun  
[ Lesson ] Операторы в PAWN.
RockmanДата: Вторник, 07.02.2012, 22:52 | Сообщение # 31
Постоялец
Группа: Продвинутые
Сообщений: 428
Награды: 4
Город: Нижний Новгород
Репутация: 474
Замечания: 0%
Статус:
Quote (toneysix)
Rockman Опять-таки, это частный случай, даже те, 15 миллисекунд это погрешность, не более того, на самом деле их можно приравнять. Мне нужен конкретно общий случай, который бы всегда позволял получать удовлетворяющий вариант.


Из таких погрешностей в больших программах может сложиться приличное время. Естественно нет смысла в небольших программах заменять умножение сдвигом и я сам никогда этого не делал, заисключением тех программ, где эту замену требовало некоторое условие. Чаще всего это просто рассматривается как дополнительная информация, что битовые операции частенько бывают полезны и побыстрее.

toneysixДата: Вторник, 07.02.2012, 22:55 | Сообщение # 32
Джэдай
Группа: I'm V.I.P.
Сообщений: 1731
Награды: 77
Город: Салават
Репутация: 1825
Замечания: 0%
Статус:
Rockman ты потерял связь с моим предложением о погрешности. Я говорил про погрешность в пользу стандартного оператора умножения/деления.
Я просто тебе пытаюсь донести, что этот способ не универсален, а если нет универсальности, то нет и смысла. Ибо какой толк использовать код, который на одном компьютере работает быстрее, на другом медленнее, на третьем одинаково.



Русскоязычныи портал о MTA/GTA-IV-MP | http://multi-theft-auto.ru
RockmanДата: Вторник, 07.02.2012, 23:01 | Сообщение # 33
Постоялец
Группа: Продвинутые
Сообщений: 428
Награды: 4
Город: Нижний Новгород
Репутация: 474
Замечания: 0%
Статус:
Quote (toneysix)
Rockman ты потерял связь с моим предложением о погрешности. Я говорил про погрешность в пользу стандартного оператора умножения/деления.
Я просто тебе пытаюсь донести, что этот способ не универсален, а если нет универсальности, то нет и смысла. Ибо какой толк использовать код, который на одном компьютере работает быстрее, на другом медленнее, на третьем одинаково.


Связь не потеряна, в своем сообщении я говорил о своих результатах и прекрасно понял о чем вы. Совершенно согласен, что способ абсолютно не универсален и смысла нет, я лишь пытался показать, что бывают случаи, когда все таки битовые операции немного опережают.

toneysixДата: Вторник, 07.02.2012, 23:06 | Сообщение # 34
Джэдай
Группа: I'm V.I.P.
Сообщений: 1731
Награды: 77
Город: Салават
Репутация: 1825
Замечания: 0%
Статус:
Связь не потеряна?
Quote
Из таких погрешностей в больших программах может сложиться приличное время

Quote
даже те, 15 миллисекунд это погрешность

Quote
В среднем на 15 миллисекунд сдвиги вправо и влево на один проигрывают стандартным умножением и делением

Погрешность в моем случаи, не в вашем.
Quote
я лишь пытался показать, что бывают случаи, когда все таки битовые операции немного опережают.

Чем именно вы показали? Частный случай (деления, умножения на 2) не является показателем.
Хотя просто логически-рассуждая в процессе данных операций становится очевидным, что действительно будет работать быстрее. Здесь зависит опять же от умения программиста, его дальнозоркости. Можно и с побитовыми операциями сделать так, что будет в два, а то и три раза дольше, чем со стандартными способами. Просто есть случаи, когда действительно они помогают оптимизировать код, а иногда и вовсе не обойтись. В этом и их спецификация. Но все-таки это отход от темы.



Русскоязычныи портал о MTA/GTA-IV-MP | http://multi-theft-auto.ru

Сообщение отредактировал toneysix - Вторник, 07.02.2012, 23:25
RockmanДата: Вторник, 07.02.2012, 23:34 | Сообщение # 35
Постоялец
Группа: Продвинутые
Сообщений: 428
Награды: 4
Город: Нижний Новгород
Репутация: 474
Замечания: 0%
Статус:
Quote (toneysix)
Связь не потеряна?


Глупо сейчас доказывать, что я имел ввиду свои результаты, я это уже сказал, зачем мне повторяться.

Quote (toneysix)
Чем именно вы показали? Частный случай не является показателем.


Ваш случай такой же частный как и мой и по вашим словам - не показатель.
Не поленился, нашел литературу, в которой первый раз увидел упоминание об эффективности битовых операций.



Не думаю, что есть смысл опровергать слова Герберта Шилдт (член комитетов ANSI/ISO, принимавший стандарт для языков C и C++)

Добавлено (07.02.2012, 23:34)
---------------------------------------------
В любом случае хорошо, когда есть оппозиция и есть тема для спора :D

Прикрепления: 5846391.jpg (90.7 Kb)
toneysixДата: Вторник, 07.02.2012, 23:40 | Сообщение # 36
Джэдай
Группа: I'm V.I.P.
Сообщений: 1731
Награды: 77
Город: Салават
Репутация: 1825
Замечания: 0%
Статус:
Quote
Ваш случай такой же частный как и мой и по вашим словам - не показатель.

Именно. Поэтому рассматривать его, с точки зрения оптимизации глупо.
Quote
Не думаю, что есть смысл опровергать слова Герберта Шилдт (член комитетов ANSI/ISO, принимавший стандарт для языков C и C++

А зачем вам думать?) Эти книги писались давно, соответственно, когда эти операции работали своеобразно и идентично от операторов деления/умножения. Теперь же, в самих компиляторах эти операторы умножения/деления оптимизированы и справляются со своей задачей не хуже, чем в двоичном представлении данных. К тому же, я бы на вашем месте не ориентировался на мнении каких-то "особых" людей. Всегда нужно проверять и закреплять свою практику.



Русскоязычныи портал о MTA/GTA-IV-MP | http://multi-theft-auto.ru

Сообщение отредактировал toneysix - Вторник, 07.02.2012, 23:42
RockmanДата: Вторник, 07.02.2012, 23:44 | Сообщение # 37
Постоялец
Группа: Продвинутые
Сообщений: 428
Награды: 4
Город: Нижний Новгород
Репутация: 474
Замечания: 0%
Статус:
Quote (toneysix)
А зачем вам думать?) Эти книги писались давно, соответственно, когда эти операции работали своеобразно и идентично от операторов деления/умножения. Теперь же, в самих компиляторах эти операторы умножения/деления оптимизированы и справляются со своей задачей не хуже, чем в двоичном представлении данных. К тому же, я не бы на вашем месте не ориентировался на мнении каких-то "особых" людей. Всегда нужно проверять и закреплять свою практику.


Ну если книга 2011 года и для вас это давно, то вы правы во всем.

toneysixДата: Вторник, 07.02.2012, 23:49 | Сообщение # 38
Джэдай
Группа: I'm V.I.P.
Сообщений: 1731
Награды: 77
Город: Салават
Репутация: 1825
Замечания: 0%
Статус:
Rockman эммм) Не нужно за меня думать. Я вовсе так не думаю. Но суть вовсе не в синтаксисе языка. Дело все в компиляторе, в разных компиляторах по разному приведены операторы тех или иных арифметических действий, а также эти факторы, которые вы сами же перечисляли и приняли тот факт, что это не универсальный способ, а значит, он не может считаться общим случаем, а отсюда следует, что рассматривать его, как способ оптимизации было бы не практичным. Это все сделано и на ваших же основаниях. Что здесь непонятного?


Русскоязычныи портал о MTA/GTA-IV-MP | http://multi-theft-auto.ru

Сообщение отредактировал toneysix - Вторник, 07.02.2012, 23:50
RockmanДата: Вторник, 07.02.2012, 23:51 | Сообщение # 39
Постоялец
Группа: Продвинутые
Сообщений: 428
Награды: 4
Город: Нижний Новгород
Репутация: 474
Замечания: 0%
Статус:
Quote (toneysix)
которые вы сами же перечисляли и приняли тот факт, что это не универсальный способ, а значит, он не может считаться общим случаем, а отсюда следует, что рассматривать его, как способ оптимизации было бы не практичным. Это все сделано и на ваших же основаниях. Что здесь непонятного?


У меня тот же вопрос :D я с этим согласен был всегда.

GenkaOkДата: Воскресенье, 11.03.2012, 12:12 | Сообщение # 40
Уверенный в себе
Группа: Продвинутые
Сообщений: 222
Награды: 3
Город: Йошкар-Ола
Репутация: 103
Замечания: 0%
Статус:
Quote (Latron)
Вычислительные операторы: + - сложение. Пример new var = 7 + 14; . Значение переменной var будет равно 21. - - вычитание. Пример new var = 14 + 7; . Значение переменной var будет равно 7. * - умножение. Пример new var = 7 * 3; . Значение переменной var будет равно 21. / - деление. Пример new var = 21 / 3; . Значение переменной var будет равно 7. % - деление с остатком. Пример new var = 5 % 3; . Значение переменной var будет равно 1.

Исправь Вычитание. вычитание. Пример new var = 14 + 7; . Значение переменной var будет равно 7.

LatronДата: Воскресенье, 11.03.2012, 12:45 | Сообщение # 41
Группа: I'm V.I.P.
Сообщений: 2115
Награды: 22
Город: Орел
Репутация: 1604
Замечания: 0%
Статус:
Quote (Genu)
Исправь Вычитание. вычитание. Пример new var = 14 + 7; . Значение переменной var будет равно 7.

Спасибо исправил :)



Моё портфолио

Мои работы:
[ Lesson ] Операторы в PAWN.
[ Lesson ] Переменная.
[ GM ] RegSys. ( Last update: 21.04.2012 )


zEscДата: Среда, 14.03.2012, 13:51 | Сообщение # 42
Global Elite
Группа: Ангел Хранитель
Сообщений: 896
Награды: 20
Репутация: 856
Замечания: 0%
Статус:
Спасибо, полезно


^reALДата: Вторник, 20.03.2012, 20:46 | Сообщение # 43
Новенький
Группа: Пользователи
Сообщений: 15
Награды: 0
Город: NY
Репутация: 0
Замечания: 0%
Статус:
Latron, спасибо!
  • Страница 3 из 3
  • «
  • 1
  • 2
  • 3
Поиск:





 


 


 
Хостинг от uCoz samp.at.ua