Evaluación comparativa honesta
Spec: ISO/IEC 25010 ISO/IEC 25010 Spec: ISO/IEC 17025 ISO/IEC 17025 Evidence: Benchmark-backed
De un vistazo
Sección titulada «De un vistazo»Un número de evaluación comparativa sin su método dice muy poco. «NextPDF renderiza un documento en N milisegundos» no significa nada a menos que se conozcan el documento, el hardware, el número de ejecuciones y la varianza. Esta página explica cómo NextPDF mide el rendimiento, por qué informa de una señal validada en lugar de una cifra para titulares, y por qué no incluye ningún número de velocidad.
Por qué esto importa
Sección titulada «Por qué esto importa»Las afirmaciones de rendimiento son los números más fáciles de publicar y también los más fáciles de falsear, normalmente por accidente. Una única ejecución en caliente en un portátil inactivo, la más rápida de diez intentos, una microevaluación de una función que nadie invoca en una ruta crítica: cada caso produce un número real que no predice nada sobre su carga de trabajo. Spec: ISO/IEC 25010 ISO/IEC 25010 define la eficiencia del rendimiento como la realización de funciones dentro de parámetros de tiempo y rendimiento bajo condiciones especificadas (ISO/IEC 25010, §3.10). Si se elimina «bajo condiciones especificadas», el número deja de ser una medición. Se convierte en una cifra sin significado.
También hay un fallo más silencioso: un número que fue cierto una vez. En el momento en que se pega el resultado de una evaluación comparativa en la prosa, queda congelado. Mientras tanto, el código, el entorno de ejecución y el hardware siguen cambiando. Una afirmación de «rápido» obsoleta no solo es inútil. Es errónea y, además, lo es de forma silenciosa.
La versión breve
Sección titulada «La versión breve»- Un número de rendimiento carece de significado sin su método: la entrada, el entorno, el número de ejecuciones, la política de calentamiento y la dispersión.
- NextPDF mide con ejecuciones repetidas, descarta las iteraciones de calentamiento e informa de una distribución, no de una única cifra de mejor caso.
- La detección de regresiones es estadística: un resultado se juzga frente a una línea base con la prueba t de Welch, de modo que un cambio debe ser estadísticamente significativo y lo bastante grande como para importar antes de contar como una regresión.
- Un entorno inestable se detecta y se comunica, no se promedia silenciosamente; una varianza alta entre ejecuciones invalida el resultado en lugar de ocultarse en la media.
- El rendimiento se publica como una señal viva generada con la compilación, nunca como un titular congelado; por eso no aparece ninguna cifra de milisegundos en esta página.
Cómo lo aborda NextPDF
Sección titulada «Cómo lo aborda NextPDF»La puerta de rendimiento del motor es una prueba estadística, no una única ejecución cronometrada. Su metodología documentada ejecuta la suite medida muchas veces, descarta un número configurado de ejecuciones de calentamiento y calcula la media, la desviación estándar y el coeficiente de variación tanto de la duración como de la memoria. A continuación, compara el resultado actual con una línea base confirmada:
- Repeat Run the measured suite N times under fixed conditions.
- Discard warmup Drop the first W runs so cold-start noise is excluded.
- Summarise Compute mean, standard deviation, and coefficient of variation for duration and memory.
- Test vs baseline Welch's t-test (two-sample, unequal variance) against the committed baseline.
- Decide Significant AND effect over threshold → regression. Variance over threshold → unreliable, not a pass. Absolute ceiling breach → hard fail.
Tres propiedades hacen que esto sea honesto. Primero, una regresión necesita dos cosas a la vez: significancia estadística (es improbable que la diferencia sea ruido) y un tamaño de efecto que supere un umbral (la diferencia es lo bastante grande como para importar). Una ralentización pequeña y real no provoca una falsa alarma. Una grande en datos ruidosos no pasa desapercibida. Segundo, la inestabilidad es un veredicto: cuando la variación entre ejecuciones supera un límite, la puerta informa de que el entorno no es fiable. No reduce el ruido a una media sin sentido para considerarla un aprobado. Tercero, sigue existiendo un techo absoluto: un límite superior estricto que hace fallar la compilación con independencia de las estadísticas. Gracias a él, «sin regresión significativa» nunca puede excusar un resultado que ya es demasiado lento.
Esta es la disciplina de medición que ISO/IEC 17025 describe para cualquier métrica creíble: resultados obtenidos bajo condiciones predeterminadas, repetibilidad dentro de un entorno (ISO/IEC 17025, §3.7) y reproducibilidad entre entornos (ISO/IEC 17025, §3.5). Una cifra de rendimiento de NextPDF solo tiene significado como «este método, esta línea base, esta ejecución». Esa es exactamente la razón por la que acompaña a la compilación que la produjo, no a una frase aquí.
Lo que dice la evidencia
Sección titulada «Lo que dice la evidencia»Evidence: Benchmark-backed La puerta de evaluación comparativa del motor implementa la medición repetida con descarte de calentamiento, el resumen de media / desviación estándar / coeficiente de variación, y una prueba t de Welch de dos muestras frente a una línea base confirmada, con veredictos explícitos de aprobado / regresión / inestable / techo estricto. Las evaluaciones comparativas de rendimiento también existen como una suite dedicada y ejecutable por separado, y un arnés de PHPBench. El rendimiento se mide deliberadamente, no se estima.
Evidence: Standard-backed «Bajo condiciones especificadas» no es cautela editorial. Es la definición. Spec: ISO/IEC 25010, §3.10 ISO/IEC 25010 §3.10 vincula la eficiencia del rendimiento a condiciones especificadas de tiempo, rendimiento y recursos. Un número sin esas condiciones no es una medición más débil. No es una medición.
Evidence: Standard-backed El marco de repetibilidad y reproducibilidad se alinea con Spec: ISO/IEC 17025 ISO/IEC 17025 : un resultado solo es creíble en relación con condiciones predeterminadas, distinguiendo la repetibilidad en un mismo entorno de la reproducibilidad entre entornos. Una evaluación comparativa que no puede enunciar sus condiciones no puede reclamar ninguna de las dos propiedades.
Ejemplo práctico
Sección titulada «Ejemplo práctico»En la práctica, «honesto» se ve como un enunciado de método, no como una cifra:
<?php
declare(strict_types=1);
// The gate is invoked with its conditions made explicit, e.g.://// php ci/scripts/benchmark-gate.php \// --runs=5 --warmup=1 --testsuite=Unit \// --baseline=<committed-baseline>//// It then reports, for duration AND memory:// - mean, standard deviation, coefficient of variation (the spread)// - Welch's t-test p-value and effect size vs the baseline// - a verdict: PASS | REGRESSION | UNSTABLE | hard-ceiling FAIL//// An honest performance statement is therefore shaped like:// "<suite>, <runs> runs (<warmup> warmup), <hardware/runtime>,// no statistically significant regression vs baseline <id>;// coefficient of variation within bound."//// It is NEVER shaped like:// "NextPDF is fast" — or a bare millisecond number with no method.El entregable de una evaluación comparativa es el método reproducible y el veredicto. El valor bruto en milisegundos pertenece a la compilación que lo produjo, donde se puede volver a derivar, no a la documentación transcrita, donde no se puede.
Concepto erróneo habitual
Sección titulada «Concepto erróneo habitual»El primer concepto erróneo es que una evaluación comparativa es un número. Una evaluación comparativa es un procedimiento que produce una distribución. El número es solo un valor extraído de ella. Informar del mejor resultado de varias ejecuciones, o de una única ejecución en caliente, no es optimista. Es medir algo distinto (el pico bajo condiciones ideales) y etiquetarlo como rendimiento típico.
El segundo es que «sin regresión estadísticamente significativa» significa «tan rápido como antes, garantizado». Significa que la diferencia observada está dentro de lo que el método puede distinguir del ruido, dados este número de ejecuciones y esta varianza. Es un enunciado acotado y condicional. Esa es precisamente la razón por la que NextPDF mantiene el techo absoluto como salvaguarda independiente y se niega a condensar el resultado en una afirmación sin condiciones, ni para sí mismo ni frente a nadie más.
Límites y fronteras
Sección titulada «Límites y fronteras»Esta página describe cómo NextPDF mide e informa del rendimiento. A propósito, no indica ninguna cifra de rendimiento, latencia ni memoria. Esas son señales vivas generadas a partir de artefactos de integración continua bajo condiciones enunciadas, y los valores actuales se publican con la compilación. Un número repetido aquí carecería de condiciones y quedaría obsoleto: exactamente el fallo que esta página cuestiona. No hay ninguna constante de rendimiento estable que citar, así que no se cita ninguna. La disciplina es el entregable.
El número de ejecuciones, la política de calentamiento, los umbrales y la línea base pertenecen a la configuración de evaluación comparativa del motor y evolucionan con el motor y su hardware. Esa configuración es la autoridad si alguna vez hay una discrepancia con esta explicación. NextPDF no hace ninguna comparación de rendimiento con ninguna otra biblioteca, favorable o desfavorable, porque tal comparación sin condiciones idénticas y enunciadas sería exactamente la afirmación sin condiciones que esta página existe para rechazar.
Documentos relacionados
Sección titulada «Documentos relacionados»- Pruebas con archivos de referencia: la misma disciplina de reproducibilidad aplicada a la corrección de la salida, incluidos los perfiles bit a bit / estructural / semántico.
- La pirámide de pruebas de NextPDF: dónde se sitúa el nivel de rendimiento y por qué es opcional en lugar de aplicarse en cada cambio.
- Pruebas de mutación, explicadas: otro lugar donde NextPDF informa de una señal validada en lugar de una cifra de vanidad.
Glosario
Sección titulada «Glosario»- Evaluación comparativa: un procedimiento definido que produce una distribución de mediciones bajo condiciones enunciadas, no un único número.
- Ejecución de calentamiento: una iteración inicial que se descarta para que los efectos de arranque en frío (JIT, cachés, autocarga) no contaminen el resultado medido.
- Coeficiente de variación: la desviación estándar dividida por la media; una medida sin unidades de la dispersión que se usa para juzgar si una ejecución es lo bastante estable como para confiar en ella.
- Prueba t de Welch: una prueba estadística de dos muestras para varianzas desiguales, usada aquí para decidir si un resultado difiere de la línea base más allá del ruido.
- Tamaño de efecto: la magnitud de una diferencia, con independencia de la significancia estadística; NextPDF requiere ambos antes de declarar una regresión.
- Repetibilidad / reproducibilidad: la concordancia de resultados bajo condiciones predeterminadas dentro de un entorno (repetibilidad) o entre entornos (reproducibilidad), según ISO/IEC 17025.
- Techo absoluto: un límite superior estricto que hace fallar la compilación con independencia de la comparación estadística.