![]() |
Побитовые операции.
Вложений: 1
Читал статейки по оптимизации, и наткнулся на то, что загрузил во вложении.
И тут меня вдруг передернуло. Вспомнилась глава об операторах в книге Мука. Побитовые операторы >> <<, и просто битовые, или и и(вроде там так было). Загуглил, но споткнулся о то, что с битами выходит туговато. Может мне объяснит суть того, что на скриншоте? Я в корне не понимаю этих операций. И заодно хотел бы узнать больше о побитовых операциях, где они используются и чем занимаются? |
По скорости разницы нет, а значит, если и использовать, то не для расчётов.
Вот тут есть пример http://flashpress.ru/blog/bit-mask/ |
|
Цитата:
Практически, кстати, тоже на флеше может дать прирост, хотя может и не дать, потому что: - не будет заметен на фоне тормознутости других операций - выражение / 2 может быть преобразовано компилятором в сдвиг (хотя mxmlc туповат, сомневаюсь) - байткод, соответствующий / 2 может быть преобразован рантайм-компилятором в сдвиг - часто скорость зависит больше от времени доступа к данным (попадут ли в кеш процессора), чем от количества тактов на собственно обработку Где используются, если не для производительности: - получение значения цвета по составляющим RGB - самописная сериализация/десериализация данных (наверняка в коде ProtoBuf для as3 эти операторы найдете) - просто ими запихивают несколько значений в один байт (BiteArray биты то не принимает) или заталкивают 32-битное число в 16 бит, если оно небольшое :) (например в AMF 3). - в алгоритмах чтения/записи других бинарных форматов (png, например) тоже наверняка найдёте |
Сдвиг работает быстрее (статья 2007 года, тесты на текущем компиляторе и рантайме сделайте сами)
|
Оптимизация за счет битовых операций в математических вычислениях - это не то, ради чего они действительно нужны.
Вот при работе с данными можно поиметь профит: объем по-ужать, обработать по-шустрее, это да. |
Цитата:
Любая переменная хранит в себе данные. Будь то строка, целое число или буль. Добавлено через 1 минуту Цитата:
|
А почему и на скрине ТС и в статьях, используется int? Number не кто не использует?
|
Цитата:
Зачем он там нужен? Кроме того, вот тут даже ругают за это, в целях всеобщей оптимизации. |
Цитата:
|
| Часовой пояс GMT +4, время: 11:25. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.