Ollama vs LM Studio vs llama.cpp vs MLX: the tool call is the whole difference
Four local runtimes, the same weights, four different prompts going in and four different answers to whether a tool call comes back parsed. None of that is throughput, and throughput is the only axis anyone compares.
Outlines vs XGrammar vs llguidance vs Instructor: Valid JSON Was Never the Hard Part
Three of these four constrain the sampler so invalid output cannot be produced, and the choice between them collapses to one question: do your schemas repeat? The fourth does something categorically different, and it is the only one that can enforce the rules that actually break agents — because a grammar guarantees the enum is one of five values and says nothing about which.