Запитання з тегом «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); …
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 не керує кодом JIT кеш?
Канонічна реалізація 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'd. Чи передбачає це переклад у рідний код? Чи взаємодіє середовище виконання .NET (як віртуальна машина?) Із кодом JIT'd? Я знаю, що це наївно, але я …
86 c#  jit 

8
Чому оператори набагато повільніші за виклики методів? (структури повільніші лише на старих JIT)
Вступ: Я пишу високопродуктивний код на C #. Так, я знаю, що C ++ дасть мені кращу оптимізацію, але я все-таки вирішив використовувати C #. Я не хочу обговорювати цей вибір. Швидше, я хотів би почути тих, хто, як і я, намагається писати високопродуктивний код на .NET Framework. Запитання: Чому …

4
Чи можна написати компілятор JIT (до власного коду) повністю керованою мовою .NET
Я граюся з ідеєю написання компілятора JIT, і мені просто цікаво, чи можливо навіть теоретично написати все це в керованому коді. Зокрема, як тільки ви сформували асемблер у байтовий масив, як ви переходите до нього, щоб розпочати виконання?
84 c#  .net  f#  jit 


2
Чому рекурсивний виклик викликає StackOverflow на різній глибині стека?
Я намагався з'ясувати, як обробляються зворотні виклики компілятором C #. (Відповідь: це не так. Але 64-бітні JIT (і) будуть виконувати TCE (усунення хвостового виклику). Застосовуються обмеження .) Тому я написав невеликий тест, використовуючи рекурсивний виклик, який друкує, скільки разів його викликають до того, StackOverflowExceptionяк процес вбиває. class Program { static …

3
Вихід -1 стає косою в циклі
Дивно, але виходить наступний код: / -1 Код: public class LoopOutPut { public static void main(String[] args) { LoopOutPut loopOutPut = new LoopOutPut(); for (int i = 0; i < 30000; i++) { loopOutPut.test(); } } public void test() { int i = 8; while ((i -= 3) > 0) …
54 java  string  while-loop  jvm  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); } Я б припустив, що продуктивність цих двох …

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.