TGViewer
PLComp PLComp @plcomp · 843 subscribers
Post #51 809
Очередное подтверждение тому факту, что работа над компиляторами -- это не только известные проекты-бегемоты в духе LLVM/GCC для 2-3 популярных архитектур и виртуальных машин.

Вы слышали о BPF? Впрочем, что я говорю, если читаете внимательно PLComp, то, конечно, слышали. Но, в любом случае, есть замечательная заметка, которая вводит в предмет:

BPF, XDP, Packet Filters and UDP
https://fly.io/blog/bpf-xdp-packet-filters-and-udp/

Посмотрите, сколько всего интересного! Узкая предметная область, виртуальные машины, JIT-компиляция, статический анализ кода, верификация.

В заметке есть ссылка на хорошую статью 1999 года:

BPF+: Exploiting Global Data-flow Optimization in a Generalized Packet Filter Architecture
https://andrewbegel.com/papers/bpf.pdf

Ничего себе, да? Такие-то технологии для, вроде бы, заурядной задачи фильтрации пакетов!

И вот кульминация, статья уже совсем свежая:

Specification and verification in the field: Applying formal methods to BPF just-in-time compilers in the Linux kernel
https://unsat.cs.washington.edu/papers/nelson-jitterbug.pdf

Складывается ощущение, что BPF -- своеобразный полигон для обкатки перспективных технологий компиляции. Это объяснимо: на исходный язык и вычисления накладываются жесткие ограничения, сама виртуальная машина простая -- есть где развернуться и применить что-нибудь изощренное. И, разумеется, интересны перспективы использования BPF в специализированных аппаратных решениях.

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

#jit #analysis #vm #verification #bpf
More from @plcomp
  1. Oct 10, 2025В наше время может сложиться впечатление, что компиляторы вне LLVM уже не создаются. Это,…
  2. Jun 16, 2025#видеозаписи Начинаем публиковать видео докладов sysconf 2025. Первым — выступление Петра…
  3. May 21, 2025Недавно удалось лично пообщаться с несколькими известными преподавателями разработки компи…
  4. Nov 26, 2024В ближайшее время в Москве пройдет три конференции, связанные с системным программирование…
  5. Sep 29, 2024Я и мой студент, Кирилл Павлов, опубликовали статью "Библиотека llvm2py для анализа промеж…
  6. Jul 23, 2024Первый интерпретатор просто использует эти функции напрямую для рекурсивного аннотирования…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →