Saltar al contenido

Bench

Paneflow entrega su trabajo de rendimiento con cifras, no con adjetivos. Cada suite de abajo corre sobre una línea base confirmada en git y sobre el último commit, en la misma máquina, desde un script del repositorio. El pipeline del terminal abre la serie; vendrán más suites.

Pipeline del terminalcb05be20
MétricaAhorrado
  1. 1Despertares en reposo, panel solo de visualización
    98 % 64,0×
  2. 2Publicación al eco de una tecla, panel 220×60
    95 % 20,0×
  3. 3Lectura del texto de una fila, panel 220×60
    92 % 11,8×
  4. 4Despertares en reposo, shell en su prompt
    86 % 7,11×
  5. 5Compuerta de publicación con salida a goteo
    75 % 4,00×
  6. 6Rendimiento sobre el corpus
    74 % 3,87×
  7. 7Resolución de la fuente base, por fotograma
    50 % 2,00×
  8. 8Publicación al desplazar, panel 120×40
    50 % 1,98×
  9. 9Publicación al desplazar, panel 220×60
    36 % 1,56×
  10. 10Pasada de maquetación, panel 220×60
    9,9 % 1,11×
Figura 1. Parte del coste de la línea base eliminada por métrica, última ejecución frente a la línea base confirmada. Los tiempos son medianas en perfil release; los recuentos de asignaciones son exactos. AMD Ryzen 7 7800X3D, Windows 11, release profile.

Pipeline del terminal

De los bytes del PTY a la maquetación que dibuja el renderizador: instantánea y conversión de la rejilla al desplazar y al eco de una tecla, la pasada de maquetación sin ventana, las lecturas que el hilo de renderizado hace en cada fotograma, el ritmo de publicación con salida a goteo, el rendimiento sobre el corpus y con qué frecuencia despierta un panel en reposo. Los tiempos son medianas en perfil release; los recuentos de asignaciones son exactos.

Todas las métricas

Línea base y última ejecución lado a lado: valor principal, el p95 cuando la métrica lo tiene, y asignaciones por iteración.

MétricaLínea baseÚltimaCambiop95Asig./iter., línea baseAsig./iter., última
Publicación al desplazar, panel 220×60700,7 µs448,0 µs-36,1 % 1,56×863,6 µs465,7 µs2,70 MiB266 B
Publicación al eco de una tecla, panel 220×60166,0 µs8,3 µs-95,0 % 20,0×196,2 µs8,6 µs1,41 MiB106 B
Publicación al desplazar, panel 120×40324,8 µs163,8 µs-49,6 % 1,98×377,1 µs169,8 µs1,02 MiB242 B
Pasada de maquetación, panel 220×60515,8 µs464,9 µs-9,9 % 1,11×632,3 µs481,3 µs164,8 KiB164,8 KiB
Lectura del texto de una fila, panel 220×607,1 µs600 ns-91,5 % 11,8×9,1 µs600 ns4,3 KiB1,9 KiB
Resolución de la fuente base, por fotograma200 ns100 ns-50,0 % 2,00×200 ns100 ns152 B0 B
Lectura del tema activo, por fotograma100 ns100 ns+0,0 % 1,00×100 ns100 ns0 B0 B
Compuerta de publicación con salida a goteo1000 fotogramas por 1.000 fragmentos250 fotogramas por 1.000 fragmentos-75,0 % 4,00×n/dn/dn/d
Rendimiento sobre el corpus0,2 MiB/s0,9 MiB/s+287,0 % 3,87×n/d1,52 MiB2,8 KiB
Despertares en reposo, panel solo de visualización64 despertares/s1 despertares/s-98,4 % 64,0×n/dn/dn/d
Despertares en reposo, shell en su prompt64 despertares/s9 despertares/s-85,9 % 7,11×n/dn/dn/d

Vendrán más suites, cada una con su línea base confirmada y sus ejecuciones archivadas, en el mismo formato.