Какие виды оптимизации поддерживает AVM2?
Интересно, какую оптимизацию поддерживает AVM2 (ActionScript 3 VM)? Я знаю, что он использует JIT, но поддерживает ли он удаление мертвого кода, постоянное свертывание, вставку и т. Д.
Также мне очень интересно, что компилятор ActionScript также выполняет некоторые оптимизации. Компилятор AFAIK C# выполняет очень небольшой набор оптимизаций (требуется только для языковой поддержки), всю работу выполняет JIT. И это работает очень быстро.
Благодарю.
Благодаря MPD. AVM2 поддерживает:
- Постоянное складывание
- Копирование и постоянное распространение
- Устранение общей субэкспрессии (CSE)
- Устранение мертвого кода (DCE)
2 ответа
Взгляните на эти слайды: ActionScript 3.0 и AVM2: настройка производительности.
Я не думаю, что компилятор Flash/Flex выполняет большинство этих оптимизаций, но вы можете достичь этих результатов с помощью стороннего программного обеспечения, такого как secureSWF (коммерческое).
Может быть, вы можете найти другой бесплатный инструмент или Open Source, который делает это тоже.