LINUX.ORG.RU

Eclipse теперь может работать без виртуальной машины Java


0

0

Команда инженеров из RedHat скомпилировала популярную IDE с помощью gcj, добившись тем самым ускорения работы под линукс и возможности запуска на 64битных процессорах. В ходе работы были внесены изменения в libgcj и Eclipse, исправлено большое количество ошибок.

>>> Статья на linuxjournal.com

★★★☆

Проверено: Demetrio ()

> Posted on Thursday, July 01, 2004

:)

Demetrio ★★★★★
()
Ответ на: комментарий от anonymous

Что именно? Что gcj в состоянии делать из Java двоичный, а не байт-код? Так это ж круто ;)

anonymous
()

Теперь оно загружается аж на целую секунду быстрее! Ура!

(я серьезно - почитайте статью...)

int19h ★★★★
()

Весь пафос тут в подзаголовке: "Red Hat's Eclipse Engineering team has freed the popular integrated development environment from its ties to a proprietary Java Virtual Machine." :)

А если серьезно, то "a free, optimizing, ahead-of-time compiler for Java" (это про GCJ) давно должны были выпустить сами сантехники, вместо того, чтобы кормить народ сказками типа "write once, run everywhere"

Cantor ★★
()
Ответ на: комментарий от int19h

...the startup time dropped from more than a minute before the fix to less than 15 seconds after it...

Где тут `целая секунда'? Было больше минуты до, стало меньше 15 секунд после.

ak47
()
Ответ на: комментарий от ak47

Ну опять же, это вполне объяснимо - бинарник будет гарантированно быстрее. Казалось бы, ничего не делали - просто перекомпиляли, а какой кайф в результате :) Теперь нужно оптимизировать - 15 секунд - это многовато. Хотя сама по себе Eclipse, кажись, это не более, чем загрузчик модулей. А все остальное - редакторы кода и т.п. - это сами модули. Дык интересно, что там такого понапихано, что такие тормоза?

anonymous
()
Ответ на: комментарий от ak47

> Где тут `целая секунда'? Было больше минуты до, стало меньше 15 секунд после.

Читаем внимательно:

"A fix to the errant assembly code proved this was the problem, and suddenly our natively compiled Eclipse was able to start a second faster than the stock version using a JVM."

А то о чем ты говоришь - "минута до" - это когда они его в первый раз GJC собрали =)

int19h ★★★★
()
Ответ на: комментарий от Cybem

И чё, все плагины теперь надо компилять ???

anonymous
()

Я об этом читал как минимум месяцев 10 тому назад, и видел готовые пакеты

/singerschucher

anonymous
()
Ответ на: комментарий от Cantor

Полностью согласен. Имхо отсутствие возможности без помощи левых кривых поделок откомпилить жабу в нативный код большой просчет Сана. Такая возможность совершенно необходима, и должна присутствовать наряду с возможностью откомпилить исходник в кроссплатформеный байткод.

Jew
()
Ответ на: комментарий от Jew

> Такая возможность совершенно необходима, и должна присутствовать наряду с возможностью откомпилить исходник в кроссплатформеный байткод.

Вопрос: а зачем? Размер от этого только увеличится (все равно придется практически весь J2SE за собой таскать, а байткод компактней машинного), производительность заметно не возрастет (ибо JIT-компиляторы нынче вполне дееспособны, да и отжирают больше времени всякие проверки выхода за границы массива etc).

int19h ★★★★
()
Ответ на: комментарий от int19h

Это все так, уважаемый int19h, но распространяя прогу в нативном виде вам не надо будет заботится о наличии у пользователя жабовской VM, ее версии, правильности PATH и т.д.

Jew
()
Ответ на: комментарий от Jew

Дык для этого достаточно поющзать прогу, которая выдирает из rt.jar и всего такого только ту часть, которая нужна вашему поделию. Эта прога была прописана в руЖабе и где-то валяецца, тока нарушает грёбаную лицензию сана.

Та же хрень есть и под дотнетом (см. у джоела статью c погонялом типа "Гиве ми я линкер плиз" - там упоминаецца продукт)

ХЗ реальные ли бонусы дает компиляение - может стартап тайм только будет как у клиентского джыта а гонять будет как серверный. И рамы жрать будет меньше (хыхыхы).

Чуваки! Кто гонял жабу которая после поцелуя ГыЦыЖы или ТаверЖЫ прератилась в прынцессу поделитесь имоцыями

anonymous
()
Ответ на: комментарий от anonymous

Опять же добавлю, что не помню продуктов которые распространялись бы в виде копмпиленной жабы а компиляторы известны давно. Антиресно, чегой-то пипл энто дело не хавает? Или супергеморойное это дело. а?

anonymous
()
Ответ на: комментарий от anonymous

В том и дело, что: 1) эти поделки нарушают лицензию. На это можно забить, если софтинка пишется для пары-тройки клиентов. Если же планируется более-менее массовое ее распространение, то неизбежно возникнут проблемы.

2)эти поделки зело глюкавы. Те которые я пользовал неплохо справлялись с примитивными вещами уровня System.out.print("бла-бла"), при попытке же натравить их на проект из сотни-другой классов, на выходе получалась неработоспособная муть.

Jew
()
Ответ на: комментарий от Jew

> Это все так, уважаемый int19h, но распространяя прогу в нативном виде вам не надо будет заботится о наличии у пользователя жабовской VM, ее версии, правильности PATH и т.д.

Это решается исключительно простым способом - вы распространяете JRE вместе со своей прогой, и пишете скрипт(ы) для запуска под всевозможными платформами, корректно прописывающий CLASSPATH etc. Для примера см. например IDEA.

int19h ★★★★
()
Ответ на: комментарий от Jew

> эти поделки нарушают лицензию

А вот здесь можно поподробнее? Что именно они нарушают в лицензии?

> эти поделки зело глюкавы. Те которые я пользовал неплохо справлялись с примитивными вещами уровня System.out.print("бла-бла"), при попытке же натравить их на проект из сотни-другой классов, на выходе получалась неработоспособная муть.

Мне недавно Excelsior JET (кажется так называется) хвалили - у него тоже аналогичные проблемы, или как?

int19h ★★★★
()
Ответ на: комментарий от anonymous

>Чуваки! Кто гонял жабу которая после поцелуя ГыЦыЖы или ТаверЖЫ прератилась в прынцессу поделитесь имоцыями

GCJ - пионерская поделка. Не умеет почти ничего, про всякие там оптимизации и инлаининги можно забыть. Главные песни и пляски начинаются, если юзаеются AWT и Swing :) Если затратив кучу времени (за это время можно переписать софтину на ассемблере :), удастся что-то нативно откомпилить, то в результате получается фигня, работающая всего процентов на десять быстрее, чем стандартный байткод, и еще не ясно, как там будут обстоять дела со стабильностью.

TowerJ я щупал давно и недолго. Но остались приятные впечатления, хотя все происходило и не без бубна. Как там обстоят дела сейчас - не знаю.

Jew
()
Ответ на: комментарий от int19h

>А вот здесь можно поподробнее? Что именно они нарушают в лицензии?

"(i) you distribute the Redistributables complete and unmodified (unless otherwise specified in the applicable README file), and only bundled as part of Programs, (ii) you do not distribute additional software intended to supersede any component(s) of the Redistributables (unless otherwise specified in the applicable README file), (iii) you do not remove or alter any proprietary legends or notices contained in or on the Redistributables"

Т.е. кромсать и вытаскивать только нужное низзя.

>Мне недавно Excelsior JET (кажется так называется) хвалили - у него тоже аналогичные проблемы, или как?

Не знаю, не юзал. Пробовал http://rejar.sourceforge.net/ , пока плохо. Работает с простыми вещами, на сложных спотыкается. Пробовал еще пару подобных вещей, так вообще мрак. Хотя идея интересная.

Имхо пока нет никаких вариантов, кроме как распространять софтину с JRE, либо сразу писать на чем-нить типа с++.

Jew
()
Ответ на: комментарий от int19h

> Это решается исключительно простым способом - вы распространяете JRE вместе со своей прогой, и пишете скрипт(ы) для запуска под всевозможными платформами, корректно прописывающий CLASSPATH etc.

Это так, если софтина распространяется на дисках, а если есть необходимость распространять небольшие загружаемые из сети приложения, мелкие игрушки там, всякие легкие клоны аськи, "оптимизаторы registry" :) и прочую хрень ? К метровой поделке прикладывать 15 метров JRE ? Во тут и зарулит качественная и оптимизированая компиляция в натив.

Jew
()
Ответ на: комментарий от Jew

> Это так, если софтина распространяется на дисках, а если есть необходимость распространять небольшие загружаемые из сети приложения, мелкие игрушки там, всякие легкие клоны аськи, "оптимизаторы registry" :) и прочую хрень ?

Возникает два вопроса:

1) зачем писать "прочую хрень"? ;)

2) может язык все-таки подбирать под задачу?..

У мастодонтов (типа MS) есть еще вариант - воткнуть VM в состав своей ОС в качестве "неотъемлимой части", что они и пытаются проделать с лонгхорном.

int19h ★★★★
()
Ответ на: комментарий от int19h

>1) зачем писать "прочую хрень"? ;)

Злые менеджеры неволят :)

>2) может язык все-таки подбирать под задачу?

Правильный подход, но хочется все-же на жабе, потому-как есть наработаные библиотеки, быстрее и приятнее :)

>У мастодонтов (типа MS) есть еще вариант - воткнуть VM в состав своей ОС в качестве "неотъемлимой части", что они и пытаются проделать с лонгхорном.

В свете нынешней дружбы Сана с MS есть небольшая надежда поиметь в длиннороге и JRE. Слабо верится, но...

Jew
()
Ответ на: комментарий от anonymous

карнешна не джре а удод нет

anonymous
()
Ответ на: комментарий от Jew

> Правильный подход, но хочется все-же на жабе, потому-как есть наработаные библиотеки, быстрее и приятнее :)

С постепенно накапливаевым опытом, все больше убеждаюсь, что слова "быстрее и приятнее" и любой серьезный кодинг несовместимы, вне зависимости от языка ;)

int19h ★★★★
()
Ответ на: комментарий от int19h

Да кто щас серезно кодит ? Может в науке где, в медицине, в атомных и химических риалтаймах, ну и в опенсорсе, для души, хотя в опенсорсе все больше студенты подвязаются. А коммерческий кодинг давно стал конвеером, главное выпустить продукт быстрее чем конкуренты, на оптимизацию, качественный тестинг времени нет, да и мегагерцы и мегабайты нынче дешевы. Кодинг перестал быть искуством, стал ремеслом.

Jew
()
Ответ на: комментарий от Jew

> А коммерческий кодинг давно стал конвеером, главное выпустить продукт быстрее чем конкуренты, на оптимизацию, качественный тестинг времени нет, да и мегагерцы и мегабайты нынче дешевы

Я именно это подразумевал под "серьезным кодингом". Видимо, правильней было бы это назвать работой =)

int19h ★★★★
()
Ответ на: комментарий от int19h

Полнейший оффтоп конечно, но в последнее время у меня складывается стойкое впечатление, что писать качественный софт разучились или это стало нерентабельно. Все пишется тяп-ляп, лишь бы побыстрее и соответственно подешевле. Засилье менеджеров убивает ИТ-отрасль. Вот мы щас пишем софтинку под заказ, пишем второй месяц. Все начиналось красиво, неплохое техническое задание, UML на всю стену, менеджеры суетились с цветными презентациями, что-то там с идиотской улыбкой воодушевляющее вещали. Через неделю менеджеры накурились видимо какой-то своей менеджерской литературы и началось - два раза в неделю многочасовые митинги на предмет оптимизации стоимости разработки. Вместо писания кода - тупое втыкание в какие-то диаграммы и графики, выслушивание потоков менеджерского сознания. Кроме того, клиент как озверел - уже раз пять менял задание, причем точно объяснить, что именно ему надо не мог, все сводилось к "Сделайте мне красиво". Ну а улыбчивые менеджеры его под локотки, нежно в ухо улыбаются, шепчут приятности, обещают все в кратчайшие сроки устроить. Потом опять митинги, "Желание клиента-закон", добавить времени и людей на разработку-хрен, крутись как хочешь, и все это на фоне сходняков с диаграммами и поучительным менеджерским бредом. Софтину сдавать через полтора месяца, а в CVS без пол-литра заглянуть сташно, там просто бардак. Два раза полностью менялась структура программы, причем на скорую руку, без перепроектирования, страшно утром чекаут делать. И ведь блин напишем и сдадим, пусть не через полтора а через два месяца. Но вот какого качества будет софтинка уже сейчас понятно. А ее ведь еще сопровождать надо будет... А казалось бы, стоило месяц назад вывести босых менеджеров во дворик, растрелять по быстрому и все было бы замечательно, сберегли бы массу времени и нервов... Но нет, "ихняя щас власть"(с), терпи... И ведь так происходит во многих софтовых конторах, уверен.

Jew
()

Так и шо с того? Вона excelsior'овцы скомпиляли себе IDEA своим компилером и радуются жизни ;-). gcj еще надо писать и писать, чтобы довести до уровня jre1.3

eXOR ★★★★★
()
Ответ на: комментарий от Jew

> А казалось бы, стоило месяц назад вывести босых менеджеров во дворик, растрелять по быстрому

У, какой ты злой! А кто с клиентом общаться будет? Ты в курсе, что от
общения с некоторыми клиентами напрямую, программисты просто сходят с
ума? Вот такая грустная альтернатива ;( Но в вашем случае нужно было
однозначно отказываться от такого клиента. Мой опыт показывает, что
убытков получается больше, чем удовольствия. Выгоднее потратить время и
найти нормального клиента.

anonymous
()
Ответ на: комментарий от anonymous

> программисты просто сходят с ума?
Прям-таки сходят? ;-))

> Выгоднее потратить время и найти нормального клиента.
А пока манагеры ищут - сосать лапу? :-)..

PS: "Путь комикадзе" - как раз об этом...

eXOR ★★★★★
()
Ответ на: комментарий от anonymous

Проблемы начинаются, когда менеджеры наделяются неограниченой властью и начинают принимать решения в областях, в которых они некомпетентны. Особенно страшны менеджеры натичавшиеся всякого дерьма типа "Как за три дня вывести фирму в лидеры отрасли. Практические советы." Те вообще живут в илюзорном мире, где некая абстрактная фирма, под чутким руководством, создает сферического коня в вакууме за месяц. Такому не объяснить, что несмотря на все его красивые пауэрпоинтовские зарисовки и графики, нельзя три раза поменять структуру программы и уложиться в сроки. Никто ведь не говорит, что менеджеры не нужны, пусть ищут клиентов и насилуют им мозг красивыми презентациями, пусть организовывают своевременный подвоз пиццы в оффис, пусть ездят по выставкам. Но когда после месяца разработки, поговорив с заказчиком, менеджер заявляет, что вместо standalone мы должны сделать клиент-сервер софтину в те же сроки, и на все возражения отвечает завываниями на тему неправильного проектирования, то дело швах. В его книгах такие смены курса не вызывают никаких негативных последствий и абстрактная фирма "Конь в вакууме" так грамотно проводит начальное проектирование, что под влиянием рыночной коньюнктуры, может моментально переносит свои наработки по 3д эгошутеру в разработку софта для кардиостимулятора.

Jew
()

Новость очень старая. Когда ее впервые опубликовали, на /. появились комментарии в которых говорилось что несмотря на меньшее время загрузки скорость работы после компиляции gcj понижается. JIT оптимизирует гораздо лучше чем gcj.

asso_w
()

Лучше бы сан оставил свой байт-код для web- и portable-приложений, а все остальное компилилось под любой операционкой без изменений... эффект был бы тот же, только более быстро работало бы...

anonymous
()
Ответ на: комментарий от eXOR

> Прям-таки сходят? ;-))

Крыша едет резво от некоторых ;) Встречались мне заказчики полные
идиоты. Потеря время и денег.

> А пока манагеры ищут - сосать лапу? :-)..

На подножный корм. Но в итоге выгодней. Проверено.

anonymous
()
Ответ на: комментарий от Jew

>- М-р Виббли, это была замечательная презентация, но я хотел бы попросить Вас изложить проблему в более простых понятиях для моего ассистента. Я боюсь, он не знаком с соответствующей деловой терминологией и наверняка пропустил какие-либо тонкие моменты.

> Посетитель вздохнул и упал в ближайшее кресло.

> - Да, конечно. Вы знаете, они собирались послать одного из системных администраторов, чтобы поговорить с вами, но я, конечно, настоял на личном проведении презентации, так как я слышал о проблеме. Кроме того, ни у кого из них даже не появилась бы мысль использовать для слайдов текстурированный оранжево-розовый фон, а ведь это сегодня самое модное сочетание!

:)

anonymous
()
Ответ на: комментарий от Jew

>коммерческий кодинг давно стал конвеером, главное выпустить продукт быстрее чем конкуренты, на оптимизацию, качественный тестинг времени нет, да и мегагерцы и мегабайты нынче дешевы. Кодинг перестал быть искуством, стал ремеслом.

Суровая правда жизни... :_(

brainf_cker
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.