Новые оптимизации компилятора VM. Часть 4: System.arraycopy()
Функция
java.lang.System.arraycopy() интенсивно используется и в библиотеках JDK и
в обычных Java-приложениях. Для повышения производительности
компиляторы встраивали эту функцию в код (inline), но не делали
никаких других отптимизаций, повышающих скорость ее выполнения
(не проверяли выравнивание, перекрывающиеся блоки памяти, и т. д.). В результате,
производительность была неплохой, однако ее можно было улучшить.
[Read More]
опубликовал vmrobot
( авг 23 2006, 08:36:54 PM MSD )
Permalink
Комментарии [1]
Новые оптимизации компилятора VM. Часть 3: Многоуровневая компиляция
Как известно, в версиях HotSpot до 1.5 включительно существовало два
динамических компилятора—клиентский (client) и серверный (server).
Такое разделение—компромисс между двумя крайностями: режимом полной
интерпретации (-Xint; маленькая скрость выполенения) и режимом полной
предварительной компиляции кода (-Xcomp; большая задержка при запуске).
Первый компиялятор работает быстрее, но генерирует менее
оптимизированный код, и в результате более подходит для коротких
приложений, например апплетов, где скорость запуска критична. В
противоположность этому, серверный компилятор хорошо подходит для
приложений, выполняющихся долго (например, web-сервер), где скоростью
запуска можно пренебречь, но важно добиться быстродействия кода.
[Read More]
опубликовал vmrobot
( авг 23 2006, 07:27:29 PM MSD )
Permalink
Комментарии [1]
Новые оптимизации компилятора VM. Часть 2: Escape-analysis Мы продолжаем рассказ о новых оптимизациях JIT-компилятора виртуальной машины Java HotSpot 1.6. Сегодня речь пойдет о так называемом escape-анализе.

