gioser

sergio/takana

> Una distribución Linux construida con un laboratorio funcional y hermético en el > sótano, y una terminal mutable, clásica y anárquica en el piso de arriba — diseñada > desde el suelo para que una IA programadora entienda, modifique y co…

TOML 815Rust 56Shell 37Markdown 291229 Definiciones

variantes-cpu T5 MEDIDO: zstd cortado (dispatch runtime, v3/v4=ruido con i7); zlib inconcluso pero la respuesta es zlib-ng; la lista caliente se concentra en mesa/códecs

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

7f310005ead873ed67528df88e7da6255962ed01 · por sergio · (hace 3 meses) · padre 9c4ef8561 · ver el árbol en este commit

Delta semántico

Ninguna definición cambió: el cambio es de texto, documentación o datos.

1 archivos · +16 −3

diff --git a/docs/plan-variantes-cpu.md b/docs/plan-variantes-cpu.md
index 0de59a7d..3665477b 100644
--- a/docs/plan-variantes-cpu.md
+++ b/docs/plan-variantes-cpu.md
@@ -59,9 +59,22 @@ puñado de libs con kernels vectorizables. Lista caliente inicial (todas ya en e
 | códecs (ffmpeg-clase, cuando entren) | el caso clásico AVX2 |
 | `pixman`, `cairo` | raster 2D — **frontera GUI: sólo en worker** (gotcha zig-skew) |
 
-- **T5 — piloto medido**: v3 de `zlib` + `zstd`, benchmark antes/después con carga real de
-  hammer (pack/hydrate de N artefactos). Si la ganancia no es medible ahí, la lista se corta
-  temprano y barato.
+- **T5 — piloto medido (2026-07-17, laptop TigerLake, clang 3 variantes base/v3/v4,
+  corpus 200MB mixto fuente+binarios):**
+  - **zstd: v3/v4 NO pagan — CORTADO de la lista.** Bench interno (`-b3 -i7`, estable):
+    base 144.2 vs v4 146.5 MB/s comprimiendo, 702 vs 692 descomprimiendo = ruido. Causa
+    conocida: zstd ya hace dispatch BMI2/AVX2 en **runtime** ⇒ el `-march` del build casi no
+    toca los kernels calientes. (Un +24% aparente de v4 en la 1ª tanda desapareció con i7:
+    era calentamiento — lección para T6: sólo benchs con control de varianza.)
+  - **zlib (madler): INCONCLUSO en laptop con carga** (el mismo binario base osciló 112–157
+    MB/s entre tandas). Pero la pregunta estaba mal hecha: la respuesta buena no es una
+    variante v3 de zlib sino **zlib-ng** (fork con SIMD y dispatch en runtime, drop-in ABI;
+    Fedora 40 ya lo adoptó como zlib del sistema) ⇒ un solo artefacto, cero maquinaria de
+    variantes. Candidato a receta; medir zlib-ng vs zlib en máquina quieta cuando toque.
+  - **Consecuencia estructural**: los compresores modernos ya resuelven esto con dispatch
+    interno ⇒ la lista caliente de variantes se concentra donde NO hay dispatch: **mesa**
+    (llvmpipe/ACO compilan según -march) y códecs sin runtime-detect. El mecanismo T1–T4
+    sigue válido pero su primer cliente real es mesa, no la dupla zlib/zstd.
 - **T6 — regla de admisión**: una lib entra a la lista caliente con benchmark que lo
   justifique, no por vibras. La lista vive en el repo junto a los números.