Pull to refresh

NetBeans в Java Real-Time

Reading time 2 min
Views 5.1K
nb
NetBeans — очень удобная для разработчика среда, обычно отпугивающая своей тормознутостью, т.к. громоздка и написана на Яве. Что ж, будем надеятся, что однажды все наладится, а пока посмотрим, как эту ситуацию может исправить Real-Time Java.


Java Real-Time System распространяется(http://java.sun.com/javase/technologies/realtime/index.jsp) по жесткой лицензии с возможностью использовать ограниченное время: версия 2.1 — всего лишь год после установки. На сайте так же доступна и версия 2.2 с ограничением на 90 дней.

JavaRTS для полноценной работы требует Real-Time систему, и доступна для скачивания лишь для ОС Solaris и Linux (real-time патчи к ядру).

В чем же отличие real-time явы от обычной?
— Real-Time нити, планирование и синхронизация
В RTSJ появляется концепция 2-х нитей: real-time и no-heap real-time (которые не могут быть прерваны сборщиком мусора). А так же 28 уровней приоритетов для них.
— Новые схемы управления памятью
— Наносекундная точность времени и таймеров
— Прямой доступ к физической памяти (при сохранении безопасности=))

Однако, для приложений написанных без использования Java Real-Time API, одна из особенностей специфичных именно Яве заключается в работе сборщика мусора. Он выполняется в то время, когда никому не мешает и постоянно прерывается на перепланировку процессов.

Итак, поехали…
Объект испытания: NetBeans 6.5.1

nb

JavaRTS 2.1
bash-3.2$ javarts -version
Java Real-Time System HotSpot(TM) Client VM warning: unable to lock pages into memory
java version "1.5.0_16"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_16_Java-RTS-2.1_fcs-b11_RTSJ-1.0.2)
Java Real-Time System HotSpot(TM) Client VM (build 1.5.0_16-b11, mixed mode)


ArchLinux
bash-3.2$ uname -a
Linux hyperion 2.6.29-rt #1 SMP PREEMPT RT Wed Jun 3 17:02:08 MSD 2009 i686 Intel(R) Core(TM) Duo CPU T2450 @ 2.00GHz GenuineIntel GNU/Linux


Все готово, запускаем нашу «непростую» IDE
bash-3.2$ ./netbeans --jdkhome /usr/share/JavaRTS/jrts2.1/

Загрузился NetBeans неожиданно быстро, хотя предсказуемо не спешил при инициализации модулей.

Обычно медленно и с гулом винчестера открывающиеся, боковые панельки вылетели, лишь на мгновение тормознув мышь. Наконец-то не успеваешь зевнуть, пока появляются тяжелые менюшки, а табы открываются практически мгновенно.

Что ж, пока прирост скорости не может не радовать. Попробуем что-нибудь покруче. Я всегда не любил возиться с обновлениями и плагинам лишь из-за долго открытия окна для упраления ими: Tools -> Plugins… И обычно долгая инициализация списка плагинов проходит за примерно указанное в прогресс-баре время — около 5-7 секунд.
Следующая тяжелая вещь: Tools->Options… Все подвисает, меню появляется довольно скоро, но управление мышью возвращается лишь после нескольких секунд.

Использование памяти все это время скачет в пределах от 90 до 130 Мб (по монитору плагина «Java Profiler»), хотя с jdk1.6.0_12 предел обычно около 70 Мб, но здесь, вероятно, большое влияние оказывает использование различных версий Явы (JavaRTS 2.1 собрана на основе jdk1.5.0_16).
Tags:
Hubs:
+11
Comments 42
Comments Comments 42

Articles