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

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

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

25 ответов

14 просмотров

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Tiny-Toon Автор вопроса

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

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

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

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

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

Tiny-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.

Tiny-Toon Автор вопроса
Tiny Toon
а что не так со стартом?

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

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

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

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

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

Tiny Toon
вроде оно The Native Image Generator (Ngen.exe) is...

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

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

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

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

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

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

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

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

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

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

Комрады, посоветуйте, куда копать? Стал прикручивать кастомизацию тем. В OnShow главной главной формы пытаюсь загрузить из файла настроек и применить тему (на скрине, как долж...
Ed Doc
13
Такс, блин, таки кто-то знает, каким образом работают макросы stdin/stdout/stderr? Я влез в stdio.h, там определения нет, отладил через асмокод - вызывается функция со странны...
The Bird of Hermes
18
OnShow один раз вызывается? или возможен Hide?
Iluha Companets
14
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
Всем привет, на линуксе лучше на fasm или nasm учиться писать для начала ?
meszjol
14
Если у меня есть такой класс: Object = {} function Object:new(a_name, a_transform, a_color, a_mesh, a_material, a_shader, a_textures) local private = {} private.n...
Cuarno Vile
4
Гайз, кто-нибудь пробовал запустить probe-rs под камень, которого нет в probe-rs? Мб есть какой-нибудь пример у кого... Через target-gen попробовал сгенерировать chip-descript...
Максим Смирнов
2
А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
@MrMiscipitlick А можешь макрос написать, который будет вычислять смещение относительно переданных меток? Просто .label1-.label2, и вернуть значение.
КТ315
35
🥹сениоры нужна помощь. Столкнулся с интересным. Сайт на 1.4 весь в вирусах. Просканировал почистил вроде. Можно конечно скачать развернуть на опенсервере, но пока пробую на ко...
Alexander Grishin 👽
3
Карта сайта