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

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

10
Как может язык, чей компилятор написан на C, быть быстрее C?
Взглянув на веб-страницу Джулии , вы можете увидеть некоторые тесты нескольких языков по нескольким алгоритмам (время показано ниже). Как может язык с компилятором, изначально написанным на C, превзойти C-код? Рисунок: время тестов относительно C (чем меньше, тем лучше, производительность C = 1,0).

5
Почему некоторые языки программирования «быстрее» или «медленнее», чем другие?
Я заметил, что некоторые приложения или алгоритмы, построенные на языке программирования, скажем, C ++ / Rust, работают быстрее или быстрее, чем те, которые основаны, скажем, на Java / Node.js, работающие на той же машине. У меня есть несколько вопросов по этому поводу: Почему это происходит? Что управляет «скоростью» языка программирования? …

9
Какие свойства языка программирования делают компиляцию невозможной?
Вопрос: «Некоторые свойства языка программирования могут требовать, чтобы единственный способ получить код, написанный на нем, выполнялся путем интерпретации. Другими словами, компиляция в собственный машинный код традиционного ЦП невозможна. Что это за свойства?» Составители: принципы и практика Параг Х. Дейва и Химаншу Б. Дейва (2 мая 2012 г.) Книга не дает …

10
Может ли динамический язык, такой как Ruby / Python, достичь производительности, подобной C / C ++?
Интересно, можно ли создавать компиляторы для динамических языков, таких как Ruby, чтобы они были похожи и сопоставимы по производительности с C / C ++? Из того, что я понимаю о компиляторах, возьмем, к примеру, Ruby, компиляция кода Ruby никогда не может быть эффективной, потому что способ, которым Ruby обрабатывает отражение, …

12
Почему компиляторы автоматически не вставляют освобождение?
Предполагается, что в таких языках, как C, программист вставляет вызовы бесплатно. Почему компилятор не делает это автоматически? Люди делают это в разумные сроки (игнорируя ошибки), поэтому это не невозможно. РЕДАКТИРОВАТЬ: Для дальнейшего использования, вот еще одна дискуссия, которая имеет интересный пример.

4
Временная сложность компилятора
Меня интересует сложность времени компилятора. Ясно, что это очень сложный вопрос, так как есть много компиляторов, опций компилятора и переменных, которые необходимо учитывать. В частности, меня интересует LLVM, но меня интересуют любые мысли людей или места, где можно начать исследования. Довольно Google, кажется, мало что дает на свет. Я предполагаю, …
54 compilers 

8
От чего зависит «скорость» языка программирования?
Предположим, что программа написана на двух разных языках, пусть это будет язык X и язык Y, если их компиляторы генерируют один и тот же байт-код, почему я должен использовать язык X вместо языка Y? Что определяет, что один язык быстрее, чем другой? Я спрашиваю об этом, потому что часто вы …


5
Доказательство того, что мертвый код не может быть обнаружен компиляторами
Я планирую провести зимний курс по разному количеству тем, одной из которых будут составители. Теперь я столкнулся с этой проблемой, думая о заданиях, которые нужно давать на протяжении всего квартала, но это поставило меня в тупик, поэтому я мог бы вместо этого использовать его в качестве примера. public class DeadCode …


6
Существуют ли программы, которые могут «переводить» исходный код между любыми двумя языками?
Существуют ли программы, которые могут «переводить» исходный код между любыми двумя языками (при условии, что переводчик имеет доступ к необходимым библиотекам)? Если есть, как они работают (используемые методы, необходимые знания и т. Д.)? Как они могут быть построены? Если нет, то какие ограничения мешают их развитию? Это полная проблема ИИ …

2
Почему пустой тип C не аналогичен пустому / нижнему типу?
Википедия, а также другие источники, которые я обнаружил в списке voidтипа C как тип единицы, а не пустой тип. Мне кажется, что это сбивает с толку, так как мне кажется, что оно voidлучше подходит под определение пустого / нижнего типа voidНасколько я могу судить, ценности не обитают . Функция с …
28 type-theory  c  logic  modal-logic  coq  equality  coinduction  artificial-intelligence  computer-architecture  compilers  asymptotics  formal-languages  asymptotics  landau-notation  asymptotics  turing-machines  optimization  decision-problem  rice-theorem  algorithms  arithmetic  floating-point  automata  finite-automata  data-structures  search-trees  balanced-search-trees  complexity-theory  asymptotics  amortized-analysis  complexity-theory  graphs  np-complete  reductions  np-hard  algorithms  string-metrics  computability  artificial-intelligence  halting-problem  turing-machines  computation-models  graph-theory  terminology  complexity-theory  decision-problem  polynomial-time  algorithms  algorithm-analysis  optimization  runtime-analysis  loops  turing-machines  computation-models  recurrence-relation  master-theorem  complexity-theory  asymptotics  parallel-computing  landau-notation  terminology  optimization  decision-problem  complexity-theory  polynomial-time  counting  coding-theory  permutations  encoding-scheme  error-correcting-codes  machine-learning  natural-language-processing  algorithms  graphs  social-networks  network-analysis  relational-algebra  constraint-satisfaction  polymorphisms  algorithms  graphs  trees 

2
Что такое пакетный компилятор?
У меня есть следующая цитата из курса моего компилятора (в контексте раскраски графа): Поскольку это медленно, раскраска графа имеет тенденцию использоваться в пакетных компиляторах, в то время как линейное сканирование имеет тенденцию использоваться в компиляторах JIT. Я не мог найти четкое определение в Интернете. Итак, что делает компилятор пакетным компилятором?
28 compilers 

2
Чем JIT-компилятор отличается от обычного компилятора?
Было много ажиотажа по поводу JIT-компиляторов для таких языков, как Java, Ruby и Python. Чем JIT-компиляторы отличаются от компиляторов C / C ++ и почему компиляторы, написанные для Java, Ruby или Python, называются JIT-компиляторами, а компиляторы C / C ++ просто называются компиляторами?
22 compilers 

1
Существуют ли полностью оптимизирующие компиляторы для завершающих программ?
В книге Эндрю У. Аппеля « Реализация современного компилятора в ML» он говорит в главе 17, что теория вычислимости показывает, что всегда можно изобрести новые оптимизирующие преобразования, и продолжает доказывать, что полностью оптимизирующий компилятор решит проблему остановки: Программа Q, который не производит никакого вывода и никогда не останавливается, может быть …

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