Публикации по теме 'compilers'


Сборка LLVM
мкдир llvm компакт-диск llvm/ источник mkdir сборка mkdir источник компакт-диска/ мкдир llvm svn co https://[email protected]/svn/llvm-project/llvm/tags/RELEASE_500/final llvm cd llvm/инструменты svn co https://llvm .org/svn/llvm-project/cfe/tags/RELEASE_500/final clang cd clang/tools (pwd=*/llvm/source/llvm/tools/clang/tools) svn co https://llvm.org/svn/llvm-project/clang-tools -extra/tags/RELEASE_500/final экстра cd ../../../проекты (pwd = */llvm/source/llvm/projects) svn co..

Переводчики языков программирования
Транслятор — это компьютерная программа, которая переводит программу, написанную на данном языке программирования , в функционально эквивалентную программу на другом языке программирования без потери функциональной или логической структуры исходного кода ( сущности каждой программы). Типы переводчиков: Устный переводчик Интерпретатор В вычислительной технике интерпретатор — это компьютерная программа, которая читает исходный код другой компьютерной программы и выполняет эту..

Безумные, мощные функции TypeScript 4.1
В этой статье я рассмотрю некоторые новые функции TypeScript 4.1, а именно типы литералов шаблонов, переназначение клавиш и рекурсивные условные типы. В конце я покажу несколько безумных примеров использования этих функций для небольшого метапрограммирования. Новые возможности TypeScript 4.1 Мне всегда нравился TypeScript, и язык становится лучше с каждой эволюцией. В 4.1 есть много интересных новинок . Здесь я собираюсь посмотреть: Типы литералов шаблона Переназначение клавиш..

Как я ускорил свою программу на Rust: с 30+ минут до нескольких секунд
С 2017 года я пишу свои хобби-проекты на Rust. Я полюбил не только язык, но и скорость. ❤️ Rust известен своей потрясающей скоростью. Но то, что язык быстрый, не означает, что все ваши приложения будут такими же. Вот мое путешествие о том, как я ускорил выполнение программы с более получаса до нескольких секунд. Отправная точка Прежде чем вдаваться в подробности того, как мне удалось ускорить свою программу, давайте установим базовый уровень. Для этого я просто создал сборку моей..

Оптимизация игры: устранение проверки границ
В Go и многих других языках программирования, таких как Java и Rust, компилятор вставляет проверку границ перед доступом к фрагменту arr[n] , чтобы проверить это n < len(arr) . Таким образом, в случае недопустимого индекса во время выполнения программа запаникует с красивым сообщением об ошибке вместо доступа к недопустимой памяти и запуска неопределенного поведения. Тонкость заключается в том, что компиляторы умны и в некоторых случаях предпочитают не вставлять проверки границ в..

Движок JavaScript GraalVM на JDK11 с высокой производительностью
GraalVM - это платформа времени выполнения, которая обеспечивает поддержку Java и других языков на основе байт-кода Java, а также дополнительных языков, таких как JavaScript, Ruby, Python или LLVM. И мы твердо верим, что это будущее виртуальных машин для языков, которые мы знаем сейчас. Однако мы понимаем, что переход с установленной Oracle JVM или OpenJDK на GraalVM - смелый шаг, который вы, возможно, пока не захотите делать полностью. Но вы можете попробовать некоторые интересные..

Является ли Javascript интерпретируемым языком?
Глядя на текущее состояние javascript в современном мире, мы можем сказать, что большая часть его производительности и коэффициента оптимизации зависит от движка , которым он поддерживается. Сегодня мы знаем о многих движках JavaScript, начиная с Spider Monkey , первого движка JavaScript для работы в веб-браузере, созданного Бренданом Эйхом из Netscape Communications к самому популярному движку Google Chrome V8 . Все эти замечательные javascript обычно основаны на..