The solver takes the LLB graph and executes it. Each vertex in the DAG is content-addressed, so if you’ve already built a particular step with the same inputs, BuildKit skips it entirely. This is why BuildKit is fast: it doesn’t just cache layers linearly like the old Docker builder. It caches at the operation level across the entire graph, and it can execute independent branches in parallel.
// 简化版:每个值一个桶(退化为计数排序)
,这一点在体育直播中也有详细论述
The complete RCade
Варвара Кошечкина (редактор отдела оперативной информации)