vLLM vs TGI vs TensorRT-LLM: Which Should You Serve With?
vLLM vs TGI vs TensorRT-LLM: Which Should You Serve With?

For most new deployments, pick vLLM. It is actively developed, runs on the widest range of hardware, and posts far higher throughput than TGI in the published academic comparison we found. Pick TensorRT-LLM only if you are committed to NVIDIA GPUs and have engineers who can tune it. Keep TGI only where it is already running and stable, because Hugging Face has put it in maintenance mode.
The rest of this guide shows the evidence behind that answer, where each engine wins, and how to decide for your own workload.
TL;DR
- vLLM is the default choice for new APIs: high throughput, 200+ supported model architectures, and multi-vendor hardware support.
- TGI is in maintenance mode. Existing deployments keep working, but new models and performance work are landing elsewhere.
- TensorRT-LLM can lead on raw NVIDIA throughput, at the cost of NVIDIA lock-in and more engineering effort.
- At low concurrency, the three engines look much alike. Your operations, hardware and roadmap should decide, not a headline benchmark.
- Run your own model, prompts and traffic shape before you commit. Benchmarks disagree because workloads differ.
Table of Contents
- What each engine is
- vLLM vs TGI: what the benchmarks show
- Where TensorRT-LLM fits
- TGI’s maintenance mode and what it means for you
- Feature and hardware comparison
- Operations: deployment, scaling and monitoring
- Cost: the engine is free, the GPUs are not
- How to choose
- Perspective
- Getting this right for your team
- FAQ
- Sources
What each engine is
vLLM
vLLM describes itself as a high-throughput and memory-efficient inference and serving engine for LLMs. It started in UC Berkeley’s Sky Computing Lab. Its documentation lists support for more than 200 model architectures on Hugging Face: decoder-only LLMs, mixture-of-experts models, hybrid attention and state-space models, multimodal models, and embedding models.
Its core techniques are PagedAttention for KV-cache memory, continuous batching, chunked prefill, prefix caching and speculative decoding. It also ships an OpenAI-compatible API server, which makes it easy to put behind existing client code.
Hugging Face TGI
Text Generation Inference is Hugging Face’s toolkit for deploying and serving LLMs. Its feature list includes continuous batching, token streaming over Server-Sent Events, tensor parallelism, Flash Attention and Paged Attention, structured output guidance, Prometheus metrics and OpenTelemetry tracing. It also offers a Messages API compatible with OpenAI’s Chat Completion API.
The important caveat is status. Hugging Face’s own documentation says TGI is now in maintenance mode. More on that below.
TensorRT-LLM
TensorRT-LLM is NVIDIA’s open-source inference library. It is built on PyTorch and provides custom kernels for attention, GEMMs and mixture-of-experts. It also provides runtime optimizations such as prefill-decode disaggregation, wide expert parallelism and speculative decoding. It scales from a single GPU to multi-node deployments, on NVIDIA GPUs only.
Its quantization support is strong on recent hardware. The default backend supports FP4 and FP8 on Blackwell and Hopper GPUs, with coverage down to Ada Lovelace and Ampere.
vLLM vs TGI: what the benchmarks show
The most rigorous head-to-head we found is an arXiv study from November 2025. Its results favor vLLM on throughput and GPU efficiency:
| Measure | vLLM | TGI |
|---|---|---|
| Peak throughput, LLaMA-2-7B, 100 concurrent requests | 15,243 tokens/s | 4,156 tokens/s |
| Throughput advantage, 13B | 2.8x | baseline |
| Throughput advantage, 70B (4-GPU tensor parallelism) | 2.1x | baseline |
| GPU utilization under high concurrency | 85–92% | 68–74% |
| GPU memory use | 19–27% lower | baseline |
The same study shows a more nuanced latency picture. TGI had a lower median time to first token on the 7B model (0.18 s against 0.24 s), while vLLM had 1.5 to 1.7 times better p99 latencies. In plain terms, TGI can feel snappier on a lone request, and vLLM holds up better when the queue is deep and the slowest requests matter.
TGI does have a real strength with very long, reused prompts. Its v3 documentation, as reported by MarkTechPost, claims a conversation reply over a prompt of more than 200,000 tokens takes about 2 seconds in TGI v3 against 27.5 seconds in vLLM. The gain comes from a prefix cache that keeps the earlier conversation, so later turns only pay for new tokens. It is a targeted optimization for workloads such as long-document RAG and summarization, not a general speedup.
How to read these numbers
Treat any single benchmark as one data point. Other published runs vary by GPU, model size, precision and engine version, and the gaps change from one report to the next. The ratio you will see depends on your model, your prompt lengths and your concurrency, so use published figures to shortlist and your own load test to decide.
Two habits keep the comparison honest:
- Pin versions. Both engines change quickly. A result from a year-old release says little about today’s.
- Measure at your real concurrency. If an internal tool has a dozen simultaneous users, differences between servers shrink and the choice becomes an operations decision. Throughput gaps open up when many requests arrive at once.
For a refresher on the metric that matters most to users, see our short definition of latency.
Where TensorRT-LLM fits
The second question readers ask is how vLLM compares with TensorRT-LLM. The short version: TensorRT-LLM tends to win on NVIDIA hardware when you can afford the tuning, and vLLM wins on flexibility.
NVIDIA’s own figures, cited by MarkTechPost, show TensorRT-LLM on H100 with FP8 passing 10,000 output tokens per second at peak throughput with 64 concurrent requests, at roughly 100 ms to first token. Independent runs tend to show a smaller edge over vLLM that grows with model size and concurrency, but results vary by report, and some show vLLM ahead on older GPUs. That is why a test on your own hardware matters more than any quoted percentage.
The trade-offs are mostly operational:
- Hardware. TensorRT-LLM runs only on NVIDIA GPUs. vLLM’s docs list NVIDIA CUDA, ROCm, XPU, CPU and Ascend platforms.
- Engineering effort. Engine compilation, model-change handling and profiling with NVIDIA tools add work. Several vendor write-ups suggest budgeting meaningfully more operational effort than for TGI or vLLM, so confirm the figure for your own stack.
- Fit. It pays off for stable, high-volume NVIDIA workloads where the model rarely changes. It pays off less when you swap models often.
TGI’s maintenance mode and what it means for you
Hugging Face’s README says TGI now accepts only minor bug fixes, documentation improvements and lightweight maintenance. It recommends that users move to vLLM, SGLang, llama.cpp or MLX. Hugging Face’s docs say TGI started the movement toward optimized inference engines that rely on Transformers model architectures, and that the ecosystem has since moved on.
What that means in practice:
- Existing deployments are not broken. Nothing forces an emergency migration today.
- New model architectures and kernel-level performance work will land elsewhere. If your roadmap includes new model families, a TGI-only stack will eventually lag.
- You own patching. A team that keeps TGI in production should plan for security fixes, container provenance and compatibility testing on its own.
The useful question changes from “which server is faster this month?” to “which dependency will still match our models and hardware in two years?” For a new build, that points to vLLM.
Feature and hardware comparison
| vLLM | TGI | TensorRT-LLM | |
|---|---|---|---|
| Project status | Actively developed | Maintenance mode | Actively developed by NVIDIA |
| Hardware | NVIDIA, AMD ROCm, Intel, TPU, CPU and more | NVIDIA, plus AMD, Intel, Gaudi, TPU and AWS Neuron via backends | NVIDIA only |
| Batching and KV cache | Continuous batching, PagedAttention, prefix caching | Continuous batching, Paged Attention | Custom kernels, in-flight batching, optimized KV cache |
| Quantization | FP8, MXFP4, NVFP4, INT8/INT4, GPTQ/AWQ, GGUF and more | bitsandbytes, GPTQ, EETQ, AWQ, Marlin, FP8 | FP4 and FP8 on newer NVIDIA GPUs |
| Speculative decoding | n-gram, suffix, EAGLE and others | Yes | Yes |
| API | OpenAI-compatible, plus Anthropic Messages and gRPC | Messages API compatible with OpenAI Chat Completion | Serving layers vary by deployment |
| Observability | Prometheus metrics at /metrics | Prometheus and OpenTelemetry | NVIDIA profiling tools, plus custom metrics |
Sources for the table: the vLLM docs, the TGI README, TGI hardware and feature docs and the TensorRT-LLM quantization docs.
Operations: deployment, scaling and monitoring
Benchmarks capture one afternoon. Operations capture the next two years.
Deployment. TGI is simple to run as a single Docker container, and vLLM is similarly quick to stand up behind its OpenAI-compatible server. TensorRT-LLM adds a build and compile step, and model updates or configuration changes can trigger a recompile. Reports put that at tens of minutes per model, so expect slower rollouts when you swap checkpoints.
Scaling. On Kubernetes, vLLM exposes queue depth, running requests, KV-cache use and time to first token as Prometheus metrics, which lets you autoscale on signals that reflect real load rather than CPU. A queue-depth autoscaler is the common pattern for TGI as well.
Monitoring. vLLM and TGI both fit into an existing Prometheus and OpenTelemetry setup. TensorRT-LLM deep-dive profiling leans on NVIDIA-specific tools.
Vendor blogs report these operational figures with different methods, so verify any number you plan around in a pilot on your own cluster.

Cost: the engine is free, the GPUs are not
vLLM is free under the Apache 2.0 license, so your bill is GPUs. As of October 2026, that source lists on-demand A100s at roughly $1.59 to $2.79 per hour on RunPod and Lambda, an AWS p4d instance (8x A100) at about $21.96 per hour, and a p5 (8x H100) at about $55.04 per hour.
That is why throughput efficiency matters. If an engine keeps GPUs busier, you need fewer of them. A utilization gap like 85–92% against 68–74% from the arXiv comparison translates directly into fewer instances for the same traffic. Our guides on LLM cost optimization and self-hosted LLM economics show how to turn that into a budget.
How to choose
Choose vLLM if
- You are building a new API or internal platform.
- You expect to change models often, or run bursty traffic.
- You want hardware options beyond a single vendor.
- You want the engine most likely to receive new model support first.
Choose TensorRT-LLM if
- You are standardized on NVIDIA GPUs, and your model changes rarely.
- Sustained volume is high enough that a single-digit or double-digit percentage gain pays for itself.
- You have engineers who can build, profile and tune engines.
Keep TGI if
- It is already deployed, stable and integrated with your Hugging Face tooling.
- Your workload is dominated by long, reused prompts where its prefix caching shines.
- You have a plan for patching and a migration path to vLLM or SGLang when your roadmap needs it.
A quick decision path
- Count concurrent users at peak. If it is a dozen or so, any of the three will do, so choose on operations.
- Check hardware. Anything other than NVIDIA rules out TensorRT-LLM.
- Check how often models change. Frequent change favors vLLM.
- Load test two finalists with your real prompts and pinned versions.
- Write down the exit plan, whichever you choose.
The serving engine is also only one layer. Orchestration, retrieval and evaluation sit on top, and our guides to LLM orchestration and Ollama vs llama.cpp cover the neighboring decisions.
Perspective
Choose the serving layer last, and never let it own you.
When we design an AI operating system for a client, the inference engine is a replaceable component, not the foundation. The foundation is the workflow: which tasks to automate, what data the system touches, how it is governed, and who on your team will run it after we leave.
That is why we build for ownership and avoid vendor lock-in. The TGI story is a good example. A team that wired its whole stack to one project’s roadmap now has to plan a migration. A team that kept a clean API boundary, standard metrics and its own deployment pipeline can swap engines without touching the applications on top.
Our approach is to embed with your operations, choose the engine against your real hardware and traffic, and show progress through weekly demos on your own data. For most new builds that means starting from an actively maintained, multi-vendor engine and keeping the option to move to a specialized one when volume justifies it.
arosplatforms team
Getting this right for your team
If you are weighing engines for a production system, the readiness assessment and proof-of-concept stages of our custom AI development service are built for this kind of decision. We scope your workload, test candidate stacks against your data, and hand over a system your team can operate. If the question is wider, such as which processes to automate first, our AI strategy and advisory work covers that. For cloud-side choices, see our comparison of AWS and Google Cloud for AI.
FAQ
Is vLLM faster than TGI?
In the November 2025 arXiv study, yes on throughput: 3.67x on LLaMA-2-7B at 100 concurrent requests, falling to 2.1x on 70B. TGI had a lower median first-token time on the 7B model, so single-request responsiveness can favor it. Test with your own prompts to see which pattern you get.
Is TGI still maintained?
Only lightly. Hugging Face’s README says TGI is in maintenance mode, accepting minor bug fixes and documentation work, and recommends vLLM, SGLang, llama.cpp or MLX. Existing deployments continue to run, but you should plan your own patching and an eventual move.
Is TensorRT-LLM better than vLLM?
It can deliver higher peak throughput on NVIDIA GPUs, particularly with FP8 on Hopper-class hardware, but it runs only on NVIDIA and takes more effort to build and tune. vLLM runs on many more platforms and is easier to operate when models change often. The gap depends heavily on model, GPU and concurrency.
Does the engine matter for a small internal tool?
Less than you might think. With only a handful of concurrent users, published comparisons show the engines performing similarly, so pick the one that is easiest for your team to deploy, monitor and keep current. For most new projects, that is vLLM.
What does it cost to run vLLM?
The software is free under Apache 2.0. You pay for GPUs: as of October 2026, on-demand A100s were listed at roughly $1.59 to $2.79 per hour on RunPod and Lambda, and an 8x H100 AWS p5 instance at about $55.04 per hour.
Sources
- Welcome to vLLM (docs, v0.25.0)
- vLLM documentation
- vLLM project site
- NVIDIA TensorRT-LLM on GitHub
- TensorRT-LLM quantization docs
- Hugging Face TGI README
- Text Generation Inference documentation
- Comparative Analysis of Large Language Model Inference Serving Systems (arXiv)
- MarkTechPost: vLLM vs TensorRT-LLM vs HF TGI vs LMDeploy
- vLLM on The Open Source Drop
Recommended
Related: custom AI development.