А чем менает mark&sweep высокой скорости? mark&sweep же не мешает прерываниям и возможности заполнять буферы (байтвекторы) данными или, наоборот, отправлять их. Оно, конечно, компилируется в байткод с VM на Си, но это цель дизайна, чтобы экономить место.
Я не утверждаю, что именно так и надо делать. Я утверждаю, что так тоже можно делать. И критерии, на самом деле, размыты.
Оно "не мешает прерываниям" если у нас программная архитектура четко разделена на низкоуровневую часть, где выполняются гарантии жесткого реального времени, и "скриптовую" часть, где можно себе позволить многое.
Более того, в некоторых случаях удобно еще и пересылать такие скрипты прямо в исходном виде. Таким образом можно, например, на лету перепрограммировать сеть умных сенсоров, которые построены на различном железе.
Утверждение, что "так тоже можно" не вызывает возражений. Просто новизны в этом ("VM на Си"), мягко говоря, нет. Тем, кто пишет для встраиваемых систем, все это давно известно.
Ну и, собственно, нелишне еще раз вспомнить статью "История разработки одного компилятора":
http://fprog.ru/2009/issue2/dmitry-zuikov-one-compiler-story/