185 похожих чатов

А зачем вообще прогревать? почему бы сразу не скомпилировать

в машинный код? если не ошибаюсь такая опция была и в .net/jvm (конечно тогда не будет дальнейших оптимизаций в рантайме между сессиями, и только локально на машине сработает если не распространять)

25 ответов

39 просмотров

Если сначала собирать статистику, то качество (производительность) сгенерированного кода будет выше. Про PGO слышали?

Александр-Toon Автор вопроса
Alexander Chichigin
Если сначала собирать статистику, то качество (про...

уже подредактировал) ну да, про оптимизацию аргумент

потому что архитектура такая, джитованный код не очень «управляем» при прочих равных

Александр-Toon Автор вопроса
Mar Ort
потому что архитектура такая, джитованный код не о...

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

Александр Toon
ну я понимаю что если сгенерировать машинный код н...

кроме оптимизаций есть еще безопасность, переносимость, управляемость

Mar Ort
кроме оптимизаций есть еще безопасность, переносим...

как вы собрались верефицировать бинарник который вам по проводу прилетел?

Александр-Toon Автор вопроса
Mar Ort
кроме оптимизаций есть еще безопасность, переносим...

а зачем переносить? программа компилируется из il в машинный код один раз на целевой машине

Александр-Toon Автор вопроса
Mar Ort
когда «один раз»?

в первый момент использования например. или до первого использования чтобы сэкономить на прогреве

Александр-Toon Автор вопроса

ага, в .net тоже так же

Александр Toon
ага, в .net тоже так же

и там проблемы со временем старта к примеру асп дот нета

Александр-Toon Автор вопроса
jit.js
как загуглить?

в книге рихтера встречал

Александр-Toon Автор вопроса
jit.js
как загуглить?

вроде оно The Native Image Generator (Ngen.exe) is a tool that improves the performance of managed applications. Ngen.exe creates native images, which are files containing compiled processor-specific machine code, and installs them into the native image cache on the local computer. The runtime can use native images from the cache instead using the just-in-time (JIT) compiler to compile the original assembly.

Александр Toon
а что не так со стартом?

потому что фремворк на лету методы генерирует

Александр-Toon Автор вопроса
Mar Ort
потому что фремворк на лету методы генерирует

а зачем на старте то компилировать если можно заранее?

Александр Toon
а зачем на старте то компилировать если можно зара...

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

Александр Toon
вроде оно The Native Image Generator (Ngen.exe) is...

я не берусь говорить авторитетно, поскольу в дотнете профан, но есть такой момент - кажется Егор Богатов говорил тут - что в обычной даже сборке дотнетовской, большинство методов уже за АОТ-чены

Кроме самой сборки профиля если сразу компилировать с2, то машина будет стоять и не выполнять полезную работу, пока не прокомпилируется

Это лучше у разработчиков JIT спросить. 😁 Как минимум — количество вызовов. Inline cache с информацией о типах, в принципе, тоже можно считать статистикой...

Alexander Chichigin
Это лучше у разработчиков JIT спросить. 😁 Как мин...

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

Кстати, а как вообще работает эта штука с JIT который оптимизирует самые "горячие" участки кода?

Нейрофурран Гетероцикл
Кстати, а как вообще работает эта штука с JIT кото...

Обычно JIT оптимизирует не отдельные участки кода, а горячие функции целиком. Так что как бы "просто компилирует" отдельные функции и вызывает скомпилированные версии. Это опуская очень большое количество "интересных" деталей. 😁

Похожие вопросы

Обсуждают сегодня

Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
Мдя, прикол, боевая сборка запускается (именно под отладчиком) после F9 примерно полторы минуты (97 секунд если быть точным). Начал копать - проблема детектится сразу - зависа...
Александр (Rouse_) Багель
38
Всем привет! Подскажи, пожалуйста, как передать в TComboBox сразу значение и id записи. На Delphi я делал так: ComboBox1.Items.AddObject('Какое-то значение', Pointer(id запис...
Евгений
9
я так понимаю, я так подозреваю, что создание такого плагина для человека, кто умеет писать плагины для делфи потребует минут 5-10 времени. но это мое подозрение. хотелось бы ...
Kraszx
7
Товарищи, кто работа с iphelper? Или может я в самой логике ошибки фигачу, не пойму.... var ifTable : PMIB_IFTABLE; size, corSize: DWORD; Buffer ...
Warfarellen
4
Коллеги, добрый вечер. Создаю коллекцию от TFPGMap, ключ - перечисление, значение - целое. Нужно отсортировать коллекцию по значению. Как это можно сделать?
Kirill Filippenok
11
Здравствуйте, вопрос по структурам данных. Были у вас случаи, когда пришлось писать деревья или двунаправленные списки?
/ /
50
Привет, такой вопросик появился кажется ли вам что Rust слишком сложный/строгий для высокоуровневого программирования и слишком "безопасный"/строгий для низкоуровневого?
Крокант
10
Скажи а ты когда этот канал создавал ты уже дельфи не любил, или это со временем пришло?
Роман Лях (rgreat)
18
Всем привет! Использую кастомное модальное диалоговое окошко, все по классике - mrOK, mrCancel как ModalResult. Однако есть нюанс - в главной форме есть универсальный обработч...
Олег Гранишевский
20
Карта сайта