Цитата:
|
По скорости разницы нет, а значит, если и использовать, то не для расчётов.
|
Теоретически сдвиг работает быстрее, т.к. требует меньше тактов процессора, чем честное деление
Практически, кстати, тоже на флеше может дать прирост, хотя может и не дать, потому что:
- не будет заметен на фоне тормознутости других операций
- выражение / 2 может быть преобразовано компилятором в сдвиг (хотя mxmlc туповат, сомневаюсь)
- байткод, соответствующий / 2 может быть преобразован рантайм-компилятором в сдвиг
- часто скорость зависит больше от времени доступа к данным (попадут ли в кеш процессора), чем от количества тактов на собственно обработку
Где используются, если не для производительности:
- получение значения цвета по составляющим RGB
- самописная сериализация/десериализация данных (наверняка в коде ProtoBuf для as3 эти операторы найдете) - просто ими запихивают несколько значений в один байт (BiteArray биты то не принимает) или заталкивают 32-битное число в 16 бит, если оно небольшое

(например в AMF 3).
- в алгоритмах чтения/записи других бинарных форматов (png, например) тоже наверняка найдёте