Вопросы с тегом «jit»

Компиляция Just-In-Time (JIT) - это метод, используемый для повышения производительности интерпретируемого кода путем его преобразования в машинный код.

686
Почему я не должен использовать PyPy поверх CPython, если PyPy работает в 6,3 раза быстрее?

Я много слышал о проекте PyPy . Они утверждают, что это в 6,3 раза быстрее, чем интерпретатор CPython на их сайте . Всякий раз, когда мы говорим о динамических языках, таких как Python, скорость является одной из главных проблем. Чтобы решить эту проблему, говорят, что PyPy работает в 6,3 раза...

405
Java JIT обманывает при запуске кода JDK?

Я тестировал некоторый код и не мог заставить его работать так же быстро, как java.math.BigIntegerпри использовании того же алгоритма. Поэтому я скопировал java.math.BigIntegerисходный код в свой собственный пакет и попробовал это: //import java.math.BigInteger; public class MultiplyTest { public...

404
Потенциальная ошибка .NET JIT?

Следующий код дает различный вывод при запуске выпуска внутри Visual Studio и при запуске выпуска вне Visual Studio. Я использую Visual Studio 2008 и ориентируюсь на .NET 3.5. Я также пробовал .NET 3.5 SP1. При работе вне Visual Studio должен включиться JIT. Либо (а) что-то неуловимое происходит с...

107
Почему код JIT-компиляции JVM не кэшируется?

Каноническая реализация JVM от Sun применяет довольно изощренную оптимизацию к байт-коду, чтобы получить почти нативную скорость выполнения после того, как код был запущен несколько раз. Вопрос в том, почему этот скомпилированный код не кэшируется на диск для последующего использования одной и той...

95
Генерируют ли какие-либо JIT-компиляторы JVM код, использующий векторизованные инструкции с плавающей запятой?

Скажем, узким местом моей Java-программы на самом деле являются узкие циклы для вычисления множества векторных точечных произведений. Да, я профилировал, да, это узкое место, да, это важно, да, именно такой алгоритм, да, я запустил Proguard для оптимизации байтового кода и т. Д. По сути, работа -...

89
Что такое метод инверсии петли?

Я просматривал документ, в котором говорится о методах оптимизации JIT -компилятора для Java. Одним из них была «инверсия петли». И в документе говорится: Вы заменяете обычную whileпетлю do-whileпетлей. И do-whileцикл задается внутри ifпредложения. Эта замена приводит к сокращению на два прыжка....

86
Компиляция C # JIT и .NET

Я немного запутался в деталях того, как работает JIT-компилятор. Я знаю, что C # компилируется до IL. При первом запуске выполняется JIT. Означает ли это, что он будет переведен в собственный код? Взаимодействует ли среда выполнения .NET (как виртуальная машина?) С кодом JIT? Я знаю, что это...

84
Почему операторы намного медленнее, чем вызовы методов? (структуры медленнее только на старых JIT)

Введение: я пишу высокопроизводительный код на C #. Да, я знаю, что C ++ даст мне лучшую оптимизацию, но я все же предпочитаю использовать C #. Я не хочу обсуждать этот выбор. Скорее, я хотел бы услышать мнение тех, кто, как и я, пытается писать высокопроизводительный код на .NET Framework....

84
Можно ли написать JIT-компилятор (для собственного кода) полностью на управляемом языке .NET?

Я подумываю о написании JIT-компилятора, и мне просто интересно, возможно ли вообще написать все это в управляемом коде. В частности, после того, как вы сгенерировали ассемблер в массив байтов, как перейти к нему, чтобы начать выполнение?...

13
Java: развернутый вручную цикл все еще быстрее, чем исходный цикл. Почему?

Рассмотрим следующие два фрагмента кода для массива длиной 2: boolean isOK(int i) { for (int j = 0; j < filters.length; ++j) { if (!filters[j].isOK(i)) { return false; } } return true; } а также boolean isOK(int i) { return filters[0].isOK(i) && filters[1].isOK(i); } Я бы предположил,...

10
Написание высокопроизводительного кода Javascript без деоптимизации

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

9
Ломка JIT-оптимизаций с отражением

Когда я возился с модульными тестами для высококонкурентного синглтон-класса, я наткнулся на следующее странное поведение (проверено на JDK 1.8.0_162): private static class SingletonClass { static final SingletonClass INSTANCE = new SingletonClass(0); final int value; static SingletonClass...