Если планам Sun Microsystems по совершенствованию Java Virtual Machine (JVM) суждено осуществиться, пользователям больше не придется решать дилемму "производительность или кросс-платформенность", стоявшую перед ними с самого начала существования Java.
Корпорация планирует использовать новый JIT-компилятор производства Symantec для придания новых сил своей виртуальной машине. По утверждениям представителей Sun, новая машина будет быстрее, чем продукт Microsoft, которому сейчас принадлежат все рекорды скорости.
Microsoft заняла ведущие позиции в области JVM после того, как оптимизировала свою версию виртуальной машины под наиболее популярную настольную платформу, Windows. Тем не менее? сотрудники Sun, которые во главу угла всегда ставили кросс-платформенность, не унывают, оказавшись не первых рядах в гонке за скоростью.
Новая JVM компании Sun даст корпоративным пользователям шанс получить независимость от платформы, не отказываясь от быстрых приложений. "Я пользуюсь Java, так как она освобождает от необходимости использования конкретной платформы, - пояснил Брайан Макгир, директор подразделения Internet компании Econometrics, занимающейся маркетингом баз данных. Хотя не могу сказать, что скорость выполнения не имеет для меня никакого значения".
Основным компонентом JVM компании Sun станет компилятор типа just-in-time, который ускоряет выполнение апплетов и приложений за счет преобразования "на лету" байт-кода Java в "родной" машинный код. Это значительно быстрее, чем метод, при котором JVM интерпретирует код при выполнении приложения.
Symantec выпустила третью версию компилятора JIT совсем недавно, в комплекте с собственным инструментарием разработки приложений Java. Теперь Sun встроит этот более быстрый продукт в Java Performance Runtime for Windows и в Java Development Kit 1.1.6, выпуск которого запланирован на второй квартал. Новая версия компилятора JIT на 50% быстрее предыдущей и заставит JVM компании Sun работать на 10-15% быстрее, чем сейчас, утверждает Аллен Баннон, директор Symantec, отвечающий за связь с разработчиками.
Но даже это ускорение покажется не столь впечатляющим по сравнению с быстродействием динамического компилятора HotSpot, выпуск которого запланирован на лето. HotSpot должен сделать Java столь же быстрой, как C++. И если продукт Symantec позволит Sun на равных конкурировать с Microsoft, технология HotSpot несомненно выведет Sun вперед. "Разработчикам безусловно придется по душе новые продукты Sun, поскольку теперь производительность не придется приносить в жертву кросс-платформенности," - заявила Карен Боучер, вице-президент The Standish Group International.
Кроме того, JIT-компилятор компании Symantec будут отличать более совершенные возможности генерации кода. А, как известно, чем лучше код, тем быстрее он работает. Затем компания рассчитывает наделить компилятор возможностями оценки байт-кода для определения фрагментов, которые не требуют компиляции. Это позволило бы сделать работу приложений еще быстрее, сократив затраты времени на ненужную компиляцию.