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

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

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

25 ответов

43 просмотра

Если сначала собирать статистику, то качество (производительность) сгенерированного кода будет выше. Про 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 оптимизирует не отдельные участки кода, а горячие функции целиком. Так что как бы "просто компилирует" отдельные функции и вызывает скомпилированные версии. Это опуская очень большое количество "интересных" деталей. 😁

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта