Код, который генерирует HotSpot
Невозможно не отметить интересный пост Kohsuke Kawaguchi:
«Deep dive into assembly code from Java»
опубликовал vmrobot ( апр 08 2008, 09:26:16 PM MSD ) Permalink Комментарии [1]Код, который генерирует HotSpot
Невозможно не отметить интересный пост Kohsuke Kawaguchi:
«Deep dive into assembly code from Java»
опубликовал vmrobot ( апр 08 2008, 09:26:16 PM MSD ) Permalink Комментарии [1]Помните об оптимизации! Существует возможность того, что оптимизации, выполняемые JIT компилятором, могут повлиять на не только на скорость работы вашей программы... [Read More] опубликовал vmrobot ( окт 09 2007, 10:30:38 PM MSD ) Permalink Комментарии [1]
Микротестирование HotSpot Сталкиваясь с результатами очередного микротестирования производительности в Java, часто ли у вас возникает вопрос насколько достоверны полученные результаты? Имеют ли они вообще какое-либо отношение к практике?
В очередной раз наткнувшись на результаты одного из "микроэкспериментов" и проследив дискуссию, меня в очередной раз смутило то, что результаты были восприняты как данность. Я же решил посмотреть на проблему под несколько другим углом и попытаться проанализировать ПОЧЕМУ ЖЕ метод String::length оказался быстрее String::equals? Ввиду специфики данного блога, виртуальная машина забыта не будет.
[Read More]
опубликовал vmrobot
( дек 26 2006, 09:31:25 PM MSK )
Permalink
Комментарии [5]
Новые оптимизации компилятора 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-анализе.
Новые оптимизации компилятора 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
| « Ноябрь 2009 | ||||||
| Пн | Вт | Ср | Чт | Пт | Сб | Вс |
|---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | ||||||
| Сегодня | ||||||