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

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


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


2
Java JIT обманывает при запуске кода JDK?
Я тестировал некоторый код и не мог заставить его работать так же быстро, как java.math.BigIntegerпри использовании того же алгоритма. Поэтому я скопировал java.math.BigIntegerисходный код в свой собственный пакет и попробовал это: //import java.math.BigInteger; public class MultiplyTest { public static void main(String[] args) { Random r = new Random(1); long tm …
405 java  jvm  jit  jvm-hotspot 

3
Потенциальная ошибка .NET JIT?
Следующий код дает различный вывод при запуске выпуска внутри Visual Studio и при запуске выпуска вне Visual Studio. Я использую Visual Studio 2008 и ориентируюсь на .NET 3.5. Я также пробовал .NET 3.5 SP1. При работе вне Visual Studio должен включиться JIT. Либо (а) что-то неуловимое происходит с C #, …
404 c#  jit 

5
Почему код JIT-компиляции JVM не кэшируется?
Каноническая реализация JVM от Sun применяет довольно изощренную оптимизацию к байт-коду, чтобы получить почти нативную скорость выполнения после того, как код был запущен несколько раз. Вопрос в том, почему этот скомпилированный код не кэшируется на диск для последующего использования одной и той же функции / класса? В его нынешнем виде …
107 java  caching  jvm  compilation  jit 

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

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

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


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

4
Можно ли написать JIT-компилятор (для собственного кода) полностью на управляемом языке .NET?
Я подумываю о написании JIT-компилятора, и мне просто интересно, возможно ли вообще написать все это в управляемом коде. В частности, после того, как вы сгенерировали ассемблер в массив байтов, как перейти к нему, чтобы начать выполнение?
84 c#  .net  f#  jit 


2
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); } Я бы предположил, что производительность этих …

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.