Разница только в том, что на этапе исполнения уже известно какие _запущены_ программы, и какая часть оперативки/винта занята. Но на этом серьёзной оптимизации не построить. А остальное уже известно на этапе компиляции. Это для гентушника, конечно, который все программы компилит под свою систему. Для опенсуслика или мандрашника, для которых всё уже скомпилировано, разумеется, неизвестно почти ничего.
Понимаете в чем проблема..... для Gentoo, LFS все это справедливо. Но вот бинарных дистрибутивов горааааздо больше почему то. Предупреждая возможную волну флейма - мне не трудно пересобрать бинарный дистрибутив под конкретное железо. У меня на это просто времени нет. И у большинства админов, которых я знаю - тоже.
Fire and water, earth and sky - mistery surrounds us, legends never die!
И поскольку JVM на этапе исполнения трансляции известно о платформе все (в отличие от компилятора С++, которому окружение известно на этапе компиляции)
И что же например может быть известно JVM, но неизвестно компилятору C++ ("которому окружение известно на этапе компиляции")?
Ну например программа в твоем компьютере openoffice - откомпилирован чтобы он использовал инструкции Pentium II хотя у тебя уже Core2Duo
программа на жава откомпилируетця как раз с использованием последних инструкций SSE а также с учетом кэша в 4 мега
Ну например программа в твоем компьютере openoffice - откомпилирован чтобы он использовал инструкции Pentium II хотя у тебя уже Core2Duo
программа на жава откомпилируетця как раз с использованием последних инструкций SSE а также с учетом кэша в 4 мега
У меня openoffice откомпилирован специально для моего компьютера. Можно было прочитать предыдущие посты, и увидеть, что у меня gentoo, и, соответственно, все программы перед установкой на мой компьютер компилируются прямо у меня, а не где-то там.
А если кто игнорирует те преимущества, которые даёт Open Source, что ж, пусть ищет всякие костыли типа JIT
Ну например программа в твоем компьютере openoffice - откомпилирован чтобы он использовал инструкции Pentium II хотя у тебя уже Core2Duo
программа на жава откомпилируетця как раз с использованием последних инструкций SSE а также с учетом кэша в 4 мега
У меня openoffice откомпилирован специально для моего компьютера. Можно было прочитать предыдущие посты, и увидеть, что у меня gentoo, и, соответственно, все программы перед установкой на мой компьютер компилируются прямо у меня, а не где-то там.
А если кто игнорирует те преимущества, которые даёт Open Source, что ж, пусть ищет всякие костыли типа JIT
теперь предположим ты меняешь параметры компа каждый месяц
добавляешь памяти меняешь процессор - а программ у тебя на компе 100
давай опять их компилить думать какие настройки
В случае жавы это не проблема она все сама сделает за тебя
Народ, главное без фанатизма (а то до операционки написанной на яве не далеко)!
Всему нужно знать свое место, просто не нужно применять один и тотже метод решения для ВСЕХ видов задач.
В ситуации, описанной выше, с распределенной гетерогенной системой, IMHO действительно подходит решение
именно на яве, ибо меньше геморроя с саппортом что в итоге положительно скажется на цене вопроса
(а также сбережет ваши нервы), но нельзя исключать и случаи с мега-дорогими серваками, на которые ставят софт,
настраивают один раз и замуровывают в стенку лет на пять до следующего обновления железа. На такую машину
действительно имеет смысл ставить специально откомпилированный софт (в формате поставил и забыл до следующих патчей)
PS и не надо тут холиваров разводить, просто думать нада над тем что собираешься сделать. И ГЛАВНОЕ: без фанатизма, пожалуйста!
И лишь ненависть к Windows
В глазах огонь зажигает,
Как индикатор Hard-диска.
Спор "C vs Java" не совсем корректен, правильнее сравнивать конкретные компиляторы/виртуальные машины. Кому интересно, вот Benchmark для gcc и 8 движков для явы: http://www.stefankrause.net/wp/?p=9 В этом сравнении видно, что производительность явы сильно зависит от движка.