Rendimiento medido
Cifras de una instalación on-prem, medidas el 2026-09-17 desde un notebook de laboratorio con OpenCode 1.18 contra dos modelos del Catálogo: Qwen3.8 27B (FP8), un modelo de razonamiento y código, y Qwen3.6 35B A3B (FP8), el rápido. En tu instalación los alias de producto pueden apuntar a otros modelos: GET /v1/models/aliases dice cuáles.
Sirven para dos cosas: elegir los límites de una herramienta como OpenCode (Elegir los límites) y saber qué es normal antes de reportar un problema. No son una garantía de servicio.
Cuánto tarda una respuesta según su tamaño
El ritmo de salida del modelo de razonamiento es estable, cerca de 46 tokens por segundo, así que el tiempo crece en línea recta con los tokens pedidos. El nodo aborta la petición pasados unos 300 segundos, y ese corte es el que manda.
max_tokens pedidos | Tokens devueltos | Tiempo | Resultado |
|---|---|---|---|
| 4 000 | 4 000 | 87 s | Completa |
| 8 000 | 8 000 | 175 s | Completa |
| 16 000 | 0 | 303 s | 504 con provider_timeout, la petición se aborta |
La tercera fila no es un modelo lento: es el corte del nodo. A 46 tokens por segundo el techo práctico está cerca de 13 800 tokens de respuesta, y el prefill de un prompt grande también consume parte de ese presupuesto. Por eso conviene pedir 8 192 como máximo y no el max_output_tokens que anuncia el Catálogo.
Cuánto cuesta un prompt largo
Recuperación de un dato escondido en prompts de distinto tamaño, con el dato al inicio, en medio y al final. Los tres modelos lo encontraron en las nueve combinaciones; lo que cambia es el tiempo de lectura del prompt.
| Prompt | Dato al inicio | En medio | Al final | Acierto |
|---|---|---|---|---|
| 32 492 tokens | 5.9 s | 4.8 s | 2.6 s | 3 de 3 |
| 91 292 tokens | 17.7 s | 14.3 s | 12.8 s | 3 de 3 |
| 123 692 tokens | 26.6 s | 26.5 s | 17.7 s | 3 de 3 |
No hay pérdida de precisión en la parte central del contexto, que es donde suele aparecer. El costo es de tiempo: cada turno de una sesión larga vuelve a pagar ese prefill.
Varias personas a la vez
Peticiones simultáneas de unos 600 tokens de respuesta, sobre el modelo de razonamiento.
| Peticiones en paralelo | Completadas | Latencia mediana | Latencia máxima |
|---|---|---|---|
| 1 | 1 de 1 | 2.9 s | 2.9 s |
| 4 | 4 de 4 | 2.8 s | 3.9 s |
| 8 | 8 de 8 | 3.4 s | 3.7 s |
Ocho peticiones a la vez no degradan la latencia de forma apreciable. En una tanda de 25 peticiones seguidas no falló ninguna, con mediana de 3.2 s y máxima de 8.8 s.
Los dos modelos, lado a lado
Qwen3.8 27B (FP8) | Qwen3.6 35B A3B (FP8) | |
|---|---|---|
| Primer token | 0.15 s | 0.11 s |
| Ritmo de salida | 46 trozos/s | 206 trozos/s |
| Respuesta de unas 400 palabras | 15.4 s | 3.5 s |
| Tokens de razonamiento en un acertijo simple | 106 | 560 |
content vacío con max_tokens: 256 | No | Sí |
| Respeta "responde solo: OK" | Sí | No, añade texto |
El rápido entrega tokens cuatro veces más rápido y es el indicado para clasificar, resumir o renombrar. El de razonamiento gasta menos tokens pensando, obedece el formato y no se queda sin presupuesto, así que es el que conviene como modelo principal de una herramienta de código. Esta es la razón de poner el rápido en small_model y el otro en model.
Cómo volver a medirlo
Las cifras cambian con cada actualización del Catálogo y con la carga de la instalación. Para repetir la medición:
- Pide el catálogo con
GET /v1/modelsy anotacontext_windowymax_output_tokensde cada modelo. - Mide el ritmo de salida con una petición en streaming y un
max_tokensfijo: tokens devueltos entre segundos transcurridos. - Busca el corte del nodo subiendo
max_tokenshasta que la respuesta sea504conprovider_timeout. - Para el prompt largo, arma un texto de relleno con un dato único escondido y pídelo en tres posiciones.
- Para la concurrencia, lanza N peticiones iguales en paralelo y compara la latencia mediana contra la de una sola.
Anota la fecha, la versión de la herramienta y el modelo junto a cada número. Sin eso, una cifra de rendimiento no se puede comparar con la siguiente.