Санкт-Петербургская группа тестирования JVM


20080408 вторник Апрель 08, 2008

Код, который генерирует HotSpot

Невозможно не отметить интересный пост Kohsuke Kawaguchi:

«Deep dive into assembly code from Java»

опубликовал vmrobot ( апр 08 2008, 09:26:16 PM MSD ) Permalink Комментарии [1]

20071009 вторник Октябрь 09, 2007

Помните об оптимизации! Существует возможность того, что оптимизации, выполняемые JIT компилятором, могут повлиять на не только на скорость работы вашей программы... [Read More] опубликовал vmrobot ( окт 09 2007, 10:30:38 PM MSD ) Permalink Комментарии [1]

20061226 вторник Декабрь 26, 2006

Микротестирование HotSpot Сталкиваясь с результатами очередного микротестирования производительности в Java, часто ли у вас возникает вопрос насколько достоверны полученные результаты? Имеют ли они вообще какое-либо отношение к практике?

В очередной раз наткнувшись на результаты одного из "микроэкспериментов" и проследив дискуссию, меня в очередной раз смутило то, что результаты были восприняты как данность. Я же решил посмотреть на проблему под несколько другим углом и попытаться проанализировать ПОЧЕМУ ЖЕ метод String::length оказался быстрее String::equals? Ввиду специфики данного блога, виртуальная машина забыта не будет.  [Read More] опубликовал vmrobot ( дек 26 2006, 09:31:25 PM MSK ) Permalink Комментарии [5]

20060823 среда Август 23, 2006

Новые оптимизации компилятора 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-анализе.


[Read More] опубликовал vmrobot ( авг 23 2006, 07:04:07 PM MSD ) Permalink Комментарии [3]

20060801 вторник Август 01, 2006

Новые оптимизации компилятора VM. Часть 1: Синхронизация Новые оптимизации JIT-компилятора виртуальной машины Java HotSpot 1.6 позволяют повысить скорость выполнения Java-программ. Такие оптимизации по большей части незаметны для программиста, но знание об особенностях реализации компилятора может оказаться полезным в создании более эффективного кода. Сегодня мы расскажем о реализации Java-блокировок в JVM 1.6. [Read More] опубликовал vmrobot ( авг 01 2006, 10:21:29 PM MSD ) Permalink Комментарии [2]


Хиты страниц за сегодня: 127