Portless: rutas locales con nombre
Rendimiento de Portless: mide el proxy aparte de la comodidad del desarrollo
Diseña una evaluación honesta con protocolos equivalentes, trabajo del servidor, número de rutas y comportamiento del navegador sin inventar ahorros.
Qué aprenderás
- Una URL legible no es una medición de latencia
- Compara caminos equivalentes y conserva los fallos
- Incluye mantenimiento y acceso compartido
Antes de empezar
- Conceptos de orígenes HTTP, puertos y terminal
- Distinguir loopback, LAN y exposición pública
Traza una petición, define límites de instalación y separa comportamiento observado de integraciones no probadas.
Conclusiones clave
- Comodidad del desarrollador y latencia son resultados diferentes.
- La búsqueda lineal es una hipótesis de perfilado, no un cuello de botella probado.
- Los casos funcionales no demuestran throughput ni ahorro económico.
Una URL legible no es una medición de latencia
Portless puede reducir el trabajo humano de recordar puertos y actualizar referencias. Esa comodidad no es lo mismo que throughput o tiempo de arranque. Un proxy añade una ruta de conexión y puede asumir TLS y adaptación de protocolos; su coste depende de carga, runtime y navegador, no de lo agradable que resulte el nombre.
El código realiza varias búsquedas lineales Array.find y llama a getRoutes por petición. Esto permite plantear que el número de rutas y el trabajo del callback afecten al coste, pero no demuestra un cuello de botella. Una lista en memoria y una lectura de estado no cuestan lo mismo. Perfila la integración antes de añadir caché que pueda ocultar cambios recientes.
Compara caminos equivalentes y conserva los fallos
Un experimento útil fija aplicación, tamaño de respuesta, equipo y runtime, y compara acceso directo y por proxy con reutilización de conexiones y concurrencia controladas. Separa peticiones calientes de arranque y certificados. Publica distribuciones de latencia y errores, no la mejor petición, y conserva datos originales para que los reintentos no borren fallos del resultado.
La multiplexación HTTP/2 es una función del lado del navegador, no evidencia de que toda la aplicación acelere. Compara protocolos iguales cuando sea posible y evalúa aparte HTTPS y HMR. Un JSON diminuto no representa una página con streaming, recursos y reconexiones WebSocket. Los 24 casos funcionales de esta revisión no proporcionan conclusiones de rendimiento.
Incluye mantenimiento y acceso compartido
Diagnosticar confianza, versiones conflictivas, rutas obsoletas y servicios consume tiempo de adopción. El acceso compartido opcional añade herramientas con políticas y posibles cargos propios. La licencia del paquete local no establece sus precios, y este artículo no cita suscripciones sin verificar. Revisa las condiciones reales al decidir utilizar esas integraciones.
Empieza con una hoja cuyos valores desconocidos sean null. Registra interrupciones humanas aparte de CPU, memoria, latencia y errores. Si los nombres estables ahorran tiempo, muestra la tarea observada antes y después y sus limitaciones. No conviertas un inventario de código o una prueba funcional aprobada en un porcentaje de mejora inventado.
Pasos de implementación
- 1
Fija servidor, runtime, protocolo y respuesta.
- 2
Mide solicitudes calientes directas y por proxy conservando errores.
- 3
Evalúa arranque, certificados y HMR por separado.
- 4
Publica observaciones y deja desconocidos los ahorros no medidos.
Ejemplo para copiar
{
"estadoDelBenchmark": "propuesto, no ejecutado",
"númeroDeRutas": null,
"p95DirectoMs": null,
"p95ProxyMs": null,
"errores": null,
"minutosAhorrados": null,
"costeDeCompartir": null
}Preguntas frecuentes
¿HTTP/2 garantiza una página más rápida?
No. Influyen aplicación, conexiones, recursos y adaptación. Mide el flujo real del navegador que necesitas.
¿Puedo citar los 24 casos como benchmark?
No. Verifican comportamientos seleccionados con servidores de prueba, sin comparativas de latencia, throughput ni costes.
Fuentes
- packages/portless/src/proxy.tsFuente verificada 2026-09-08
- packages/portless/src/types.tsFuente verificada 2026-09-08
- README.mdFuente verificada 2026-09-08