Explicaciones · tres

Cómo probamos, al completo

Publicamos comparaciones con el software de otras personas, así que el método tiene que ser comprobable. Aquí está entero: las máquinas, el contenido, los ajustes que recibe cada cliente, y las reglas que deciden si una ejecución cuenta como resultado o se tira.

El banco de pruebas

Misma máquina, misma línea, mismo contenido

Cada cliente de una comparación se ejecuta en una sola máquina, contra los mismos proveedores, sobre el mismo contenido, dentro de la misma tanda. No se arrastra nada de un día anterior.

La regla que lo decide todo

A un cliente se le juzga por el archivo, no por su propio mensaje de estado

Esto es lo más importante de esta página. Cada vuelta termina buscando el archivo más grande que produjo el cliente, en cualquier parte de su salida, y calculando su hash contra una copia de referencia. Tamaño y MD5, en cada vuelta, no sobre una muestra.

Lo hacemos porque el informe de éxito de un cliente no es prueba fiable. Hemos medido a un cliente informando done en un trabajo cuyo directorio de salida estaba vacío. Hemos medido a otro informando Completed tras entregar volúmenes de archivo en bruto que nunca desempaquetó. Una herramienta de reparación muy usada sale con código de error tras una reparación correcta. Ninguno de esos clientes mentía; las cadenas de estado simplemente significan cosas distintas para autores distintos, y un benchmark que se fía de ellas mide vocabulario en lugar de comportamiento.

Así que la meta es la misma para todos: el contenido existe, con el tamaño correcto y el hash correcto. Si un cliente se para antes, no obtiene tiempo, y toda la columna se marca en vez de omitirse en silencio. Un cliente lento que termina lo está haciendo mejor que uno rápido que no, y la tabla debe decirlo.

El corolario es que una no llegada es un resultado, no un error nuestro. Cuando publicamos una, describimos el estado final en términos llanos, incluido cualquier indicio de que sea específica de ese trabajo y no general, y decimos qué hizo el cliente en lugar de terminar.

Orden y repetición

Por qué las vueltas se alternan, y por qué no se publican ejecuciones sueltas

El rendimiento de los proveedores varía de minuto a minuto, a veces en un factor de dos o tres. Dos medidas tomadas en momentos distintos miden en parte el tiempo que hacía.

Por eso los clientes corren seguidos y entrelazados, y el orden se invierte entre repeticiones, de modo que ningún cliente sea siempre el que entra primero en una línea caliente o fría. Un resultado es el patrón a lo largo de las repeticiones, no la mejor carrera. Cuando la dispersión es amplia, publicamos el rango en lugar de una media que lo ocultaría, y si no sabemos por qué las cifras de un cliente están dispersas, lo decimos en vez de inventar una causa.

Las comparaciones entre tandas distintas se evitan siempre que se puede. Si una afirmación requiere dos cifras, preferimos volver a correr ambas en una misma tanda antes que restar la cifra de un día a la de otro, porque el estado del banco, las condiciones de los proveedores y las versiones de los clientes van a la deriva. Cuando comparamos dos compilaciones nuestras, ambas corren en la misma tanda, alternándose, sobre el mismo contenido.

Las comprobaciones poco vistosas

Qué se ejecuta antes y durante cada vuelta

La mayoría existe porque un fallo silencioso produjo una vez una cifra de aspecto sano, publicable y equivocada. Cada una se ejecuta ahora automáticamente y detiene la tanda en lugar de avisar.

Donde un cliente necesita ajustes concretos para rendir bien, los recibe, y la tanda dice cuáles. Ejemplos: el encadenado de peticiones activado donde un cliente lo trae apagado, la detección de duplicados desactivada cuando el mismo trabajo se descarga repetidamente, y los auxiliares de desempaquetado tomados del propio paquete del cliente en vez de una copia del sistema. El objetivo es que cada cliente se mida en su mejor forma y no en sus valores por omisión, ya que los valores por omisión son una discusión aparte de la capacidad.

Lo que no haremos

Los límites de estas cifras