RU

Async Rust: как уменьшить бинарник, пока rustc не оптимизирован

Разбираем, почему async Rust генерирует лишние state machine, как это бьёт по embedded и WASM, и что можно сделать в коде прямо сейчас. — Читать дальш…

МногопоточностьНизкоуровневое программированиеОптимизацияКомпиляторыПроизводительностьRustАсинхронное программированиеСтатьи
Tproger
RU

Как TypeScript выводит типы переменных: разбор алгоритма

Разбираем двухфазный алгоритм вывода типовых переменных в TypeScript: сбор кандидатов, разрешение, вариантность, пересечения и NoInfer. Узнайте, почем…

JavaScriptЯзыки программированияКомпиляторыФункциональное программированиеTypeScriptСтатьи
Tproger
RU

[Перевод] Что именно я понимаю под промежуточным представлением (IR) компилятора

Я много думал о том, как проектируются промежуточные представления (IR) для компилятора. В этом посте я поделюсь с вами некоторыми идеями, к которым я…

КомпиляторыIRпрограммированиеисследованияоптимизация