|
|
|
Java JIT - всё? Берёмся за ум
|
|||
|---|---|---|---|
|
#18+
mayton, Это называется модульность. Есть в разных языках и не особо как то влияет на открытость. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2017, 09:57 |
|
||
|
Java JIT - всё? Берёмся за ум
|
|||
|---|---|---|---|
|
#18+
Dima TYuRockНо как ты ни крути, c++ - язык, а .net - платформа. Все это маркетинг от МС. с++ придумал на MS. Он был языком, когда MS еще не было. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2017, 11:44 |
|
||
|
Java JIT - всё? Берёмся за ум
|
|||
|---|---|---|---|
|
#18+
YuRockDima Tпропущено... Все это маркетинг от МС. с++ придумал на MS. Он был языком, когда MS еще не было. Я про .Net и все что с ним связано. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2017, 11:50 |
|
||
|
Java JIT - всё? Берёмся за ум
|
|||
|---|---|---|---|
|
#18+
Dima TYuRockпропущено... А как может платформа быть быстрее языка программирования (на котором, к слову, можно писать программы для этой платформы)? Абсурд какой-то. Неверно. В итоге все компилируется в машинный код, т.е. в ассемблер. Только по-разному: .NET учитывает особенности конкретного проца, т.к. компиляция идет по месту, а С++ нет, т.к. понятия не имеет где его запустят. Для оптимизации работы приложения под конкретную платформу испокон веков используется модульная(плагинная) архитектура. Например, древний Adobe Photoshop подключал модули использующие MMX-команды (и другие SIMD-расширения), если видел, что процессор их поддерживает. Практически все CAD-системы делают аналогично, настраиваясь на аппаратное и программное окружение. Поэтому утверждение о "медленности" С++ по сравнению с .NET - маркетинговый ход. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2017, 11:59 |
|
||
|
Java JIT - всё? Берёмся за ум
|
|||
|---|---|---|---|
|
#18+
Siemarglmayton, Это называется модульность. Есть в разных языках и не особо как то влияет на открытость. Я говорю о свойствах рефлексии байт-кода и интроспекции. Про модульность я вообще не говорил и это отдельная "плоскость" или "измерение" если хотите. Если разработчики Jdk9/Java9 перейдут на модель дистрибуции основанную на платформенном коде то я считаю что это нанесет некоторый ущерб открытости. Впрочем за это говорить еще рано. Давайте посмотрим что будет в девятке и как. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2017, 12:02 |
|
||
|
Java JIT - всё? Берёмся за ум
|
|||
|---|---|---|---|
|
#18+
andr_andreyПоэтому утверждение о "медленности" С++ по сравнению с .NET - маркетинговый ход. Я выше ссылку давал на результаты конкретного теста. И не утверждал что С++ медленнее. Не надо передергивать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2017, 12:07 |
|
||
|
Java JIT - всё? Берёмся за ум
|
|||
|---|---|---|---|
|
#18+
maytonЧто будет если мы из стека технологии убираем байткод? Тоесть переходим к классическоймодели дистрибуции ПО. Можно вспомнить легенду для чего создали яву. Согласно преданию неск. чел-к хотели, чтобы оно везде могло работать, вот и порешили использовать всеобщий интерпретатор. Если его убрать, то дотнет и ведроид будут навроде радстудии - такой же вещью в себе. С разницей лишь, что рад и нет станут похожими по концепцииям, если захочется сохранить заменяемость c# / vb# ... , к-рые тогда вновь станут обычными, без диезов. Ну а ява - не фиг тогда 1 класс= 1 файл с тем же именем. И что станет с JSP я Х3. И как там будет с прозраачностью или открытостью - тоже Х3. Смартфончики, хе-хе - тут уж выбирай сильно заранее, на чью марку подсесть. А кому все эти резиновые интерфесы станут нужны? Во, блин! веб-дизайнерам лафа настанет. Короче, не было гвоздя - подкова пропала, не было подковы - лошад за хромала ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2017, 12:20 |
|
||
|
Java JIT - всё? Берёмся за ум
|
|||
|---|---|---|---|
|
#18+
авторС выпуском JDK 9 «из коробки» появляется возможность статической компиляции, т.е. преобразования в код целевой платформы (т.н. native). Правда, пока только под Linux. Поразительно, как весь мир массово занимается творческим онанизмом и генерацией энтропии годами и десятилетиями вместо работы :) Ну да ладно - пусть развлекаются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2017, 13:28 |
|
||
|
Java JIT - всё? Берёмся за ум
|
|||
|---|---|---|---|
|
#18+
Мы делали, делали, делали, и, наконец, к 9-й версии, придумали компилятор! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2017, 13:32 |
|
||
|
Java JIT - всё? Берёмся за ум
|
|||
|---|---|---|---|
|
#18+
Пока этот топик - собрание научной фантастики и туманных прогнозов. Давайте еще раз внимательно прочитаем JEP 295: Ahead-of-Time Compilation http://openjdk.java.net/jeps/295 и попытаемся понять о чем там вообще идет речь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2017, 14:23 |
|
||
|
Java JIT - всё? Берёмся за ум
|
|||
|---|---|---|---|
|
#18+
Dima TЯ про .Net и все что с ним связано. Ты сравнивал язык и платформу. Это всё равно, что сказать "По учебникам математики" учиться математике быстрее, чем по учебникам, написанным на русском языке. При том, что учебники математики одинаковы на всех языках (к примеру). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2017, 15:09 |
|
||
|
Java JIT - всё? Берёмся за ум
|
|||
|---|---|---|---|
|
#18+
YuRockDima TЯ про .Net и все что с ним связано. Ты сравнивал язык и платформу. Это всё равно, что сказать "По учебникам математики" учиться математике быстрее, чем по учебникам, написанным на русском языке. При том, что учебники математики одинаковы на всех языках (к примеру). .Net платформа только для языков созданных для нее (C#, F#, VB.NET и т.д.) и С++ к ним не относится. Я сравнивал скорость работы алгоритма на C# и на С++ (исходники тут 20505601 ), но с таким же успехом я мог написать на VB.NET, т.к. к итоге мой код откомпилируется в IL-код .Net, а при запуске .Net скомпилирует IL-код его в бинарный код. В отличии от С++, который сразу компилирует в бинарный код. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2017, 15:43 |
|
||
|
Java JIT - всё? Берёмся за ум
|
|||
|---|---|---|---|
|
#18+
YuRockТы сравнивал язык и платформу. Топик именно об этом: что лучше JIT-компилятор или обычный компилятор. Собственно поэтому я написал .Net, т.к. это и есть JIT-компилятор. В том ключе, в котором ты смотришь на мои посты, наверно, правильнее было бы писать C#. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2017, 15:52 |
|
||
|
Java JIT - всё? Берёмся за ум
|
|||
|---|---|---|---|
|
#18+
maytonПока этот топик - собрание научной фантастики и туманных прогнозов. Давайте еще раз внимательно прочитаем JEP 295: Ahead-of-Time Compilation http://openjdk.java.net/jeps/295 и попытаемся понять о чем там вообще идет речь. Это же читать, переводить и думать надо (((( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2017, 17:52 |
|
||
|
Java JIT - всё? Берёмся за ум
|
|||
|---|---|---|---|
|
#18+
Топик IMHO банален автор топикано теперь признаем, что надо просто сделать обычный компилятор М.Булгаков Мастер и маргаритаопять-таки случай так называемого вранья ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2017, 17:55 |
|
||
|
Java JIT - всё? Берёмся за ум
|
|||
|---|---|---|---|
|
#18+
Собственно, тема появилась одновременно с самими jit компиляторами. И дело не в .NET и C++ Реальный вопрос такой - может ли jit-компилятор быть быстрее обычного компилятора? Ответ очевиден - да, может. Теоретически. А дальше есть много факторов - среда, железо, софт. Банально - компилятор не может знать о наличии расширенных инструкций у проца (ключи компиляции и исходники - из другой оперы), а вот jit-компилятор - легко. Ускорение и в 10, и в 100 раз может быть! В теории) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2017, 18:54 |
|
||
|
Java JIT - всё? Берёмся за ум
|
|||
|---|---|---|---|
|
#18+
ИМХО На практике в итоге упремся в нехватку кэша проца, т.е. тормоза чтения из памяти и при многопоточности в тормоза синхронизации кэшей проца . И тут пофиг JIT или нет компилятор. Тут важно как код написан, т.е. алгоритмы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2017, 19:54 |
|
||
|
Java JIT - всё? Берёмся за ум
|
|||
|---|---|---|---|
|
#18+
На практике за JIT мы платим свою плату. Например PermGen (Metaspace) всегда будет хранит копии модулей байткода даже если они уже переложены в native. По сути имеет место дублирование логики. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2017, 20:12 |
|
||
|
Java JIT - всё? Берёмся за ум
|
|||
|---|---|---|---|
|
#18+
Dima TИМХО На практике .....упремся... На какой практике? Обычно, в космической практике, сферические кони в вакууме никуда упираться не должны! Т.к. по методологие, сферические кони должны плавать в полном вакууме. А в вакууме, по определению, не должно быть ни памяти, ни синхронизации. Т.ч., если все сделано верно, то упираться в них кони никак не могут! Если же у Вас они упираются, Вы где-то ошиблись и отступили от методологии. Ищите ошибку в Вашем коде. IMHO & AFAIK Dima T.... тормоза чтения из памяти и ... совершенно детсадовское изложение принципов работы вакуумных насосов и психологии коней может быть 100500 причин, почему IPC не достигает максимального значения, скорость памяти - лишь одна из них и, скорее всего, даже не основная Т.к.: 1) AFAIK значительно более частая ситуация, что инструкции не могут быть поставлены на выполнение, т.к. ожидают данных от пред. инструкций 2) "скорость памяти" это вообще мифологическое существо. У процессора есть кэшь. Доступ к которому занимает несколько тактов. Т.ч. "скорость памяти", вроде даже и термина такого в пакетах типа Intel VTune нет. Она никого не интересует. Есть метрика промахи кэша (вроде даже разнообразные). Которые, опять таки, могут возникать по 100500 причинам. и так далее.... IMHO & AFAIK. Не являюсь специалистом по high performance, Intel VTune последний раз запускал много-много лет назад. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2017, 20:17 |
|
||
|
Java JIT - всё? Берёмся за ум
|
|||
|---|---|---|---|
|
#18+
maytonНа практике за JIT мы платим свою плату. Например PermGen (Metaspace) всегда будет хранит копии модулей байткода даже если они уже переложены в native. По сути имеет место дублирование логики. Дублирование при современных компьютерах - фигня Самая большая проблема, возрастает сложность системы. Никто не может объяснить, как же этот JIT работает. Поэтому, если все хорошо, все счастливы и восхваляют создателей. А если что-то не хорошо... то никто не знает, что делать... если есть бубны - берут бубны... если есть деньги - начинают ритуалы поклонения карго-культу... А истина элементарна. Никто не знает, как же оно на самом деле работает. Разных теорий и точек зрения мульон, а как же на самом деле - никто не знает. Возможно, даже не знают создатели JIT и Java. Слишком велика сложность получившейся системы. И слишком она, в силу своей сложности, стала закрытой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2017, 20:23 |
|
||
|
Java JIT - всё? Берёмся за ум
|
|||
|---|---|---|---|
|
#18+
Leonid Kudryavtsev, о какой закрытости ты говоришь? Есть сорцы. Сиди.. разбирайся. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2017, 20:33 |
|
||
|
Java JIT - всё? Берёмся за ум
|
|||
|---|---|---|---|
|
#18+
Leonid KudryavtsevDima TИМХО На практике .....упремся... На какой практике? Например используя буфер влезающий в кэш проца я ускорил расчет вдвое. По второму пункту тут добавив выравнивание под кэш линию проца (class lite_align64_t) я ускорил тест с 35 до 40 млн. попугаев в секунду. Вот такая практика. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2017, 20:34 |
|
||
|
Java JIT - всё? Берёмся за ум
|
|||
|---|---|---|---|
|
#18+
Leonid KudryavtsevНа какой практике? Обычно, в космической практике, сферические кони в вакууме никуда упираться не должны! Т.к. по методологие, сферические кони должны плавать в полном вакууме. А в вакууме, по определению, не должно быть ни памяти, ни синхронизации. Т.ч., если все сделано верно, то упираться в них кони никак не могут! Если же у Вас они упираются, Вы где-то ошиблись и отступили от методологии. Ищите ошибку в Вашем коде. Я месседж Димы понял так. - Мы не можем наращивать производительность в одном слое архитектуры. Например подтянули больше ядер процессоров - получили когерентность. Блокировки... спины.. стали взымать с нас "дань" просто так. Просто подняли тактовую частоту - надо поднимать и частоту системной шины и как следствие планок памяти и как следствие HDD тоже должны быстрее отдавать отклики. Я к этому пришел в нулевых, когда апгрейтил свой комп для игр. И я вас прошу! Не надо про коней. Уж очень толсто получается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2017, 20:40 |
|
||
|
Java JIT - всё? Берёмся за ум
|
|||
|---|---|---|---|
|
#18+
mayton... И я вас прошу! Не надо про коней. Уж очень толсто получается. Так тема изначально такая ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2017, 20:50 |
|
||
|
Java JIT - всё? Берёмся за ум
|
|||
|---|---|---|---|
|
#18+
maytonЯ месседж Димы понял так... Все правильно, дело не в способе компиляции, JIT/неJIT примерно одинаковы, т.е. +/- пару процентов производительности, поэтому проблемы уходят в другие слои. Вот мой замер цены записи в одну кэшлинию проца разными потоками. Тормоза в 5-7 раз! Какой тюнинг компилятора это перекроет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2017, 20:53 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=39464128&tid=1340359]: |
0ms |
get settings: |
5ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
156ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
| others: | 209ms |
| total: | 431ms |

| 0 / 0 |
