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…
⎇ 84e3737e10e17927380ed3e232e50cebfdd39123
docs/evidencia/tasas-kernel-2026-08-29/io-ext4.txt
Historia
crudo
SDD 25: las tasas del kernel medidas, y el MEMCG que falta en las recetas
1
2### metadatos sobre /mnt/vvv/hammer/work/.bench-linux (4000 ficheros en un directorio)
3BENCH (ns/fichero) min mediana
4stat() por ruta completa 647.9 814.4 (n=4000)
5fstatat(dirfd, nombre) 439.0 444.9 (n=4000)
6statx(dirfd,nombre,DONT_SYNC) 467.2 476.0 (n=4000)
7openat(dirfd,nombre)+close 898.8 994.1 (n=4000)
8openat2 RESOLVE_BENEATH+NO_SYMLINKS 1025.2 1449.8 (n=4000)
9getdents64 (barrido, sin stat) 168.2 172.8 (n=4002)
10open ruta corta (2 componentes bajo base) 759.1 908.2 (n=20000)
11open ruta 13 componentes mas profunda 964.6 1002.5 (n=20000)
12
13### copiar 64 MB (fichero en cache de pagina)
14BENCH (MB/s) max mediana
15read()+write() 64K 2837.0 2722.6
16sendfile() 3345.1 2958.8
17copy_file_range() 3520.7 2859.6
18
19### materializar 2000 ficheros de 1 byte (el problema del store)
20link() [hardlink] 9223.4 10895.0 (n=2000)
21open+read+write+close [copia] 142151.6 154711.4 (n=2000)
22
23### 4K aleatorios sobre 64MB en cache: syscall vs io_uring
24BENCH (ns/lectura) min mediana
25pread() 4K 539.9 674.2 (n=50000)
26io_uring read 4K (profundidad 32) 593.6 654.2 (n=50000)
27io_uring NOP (piso de operacion) 47.7 50.5 (n=200000)
28
29### fallos de pagina: tocar 128MB anonimos (ns por pagina de 4K)
30BENCH min mediana
31MADV_HUGEPAGE (THP) 2730.4 3205.5 (n=32768)
32MADV_NOHUGEPAGE (4K de a uno) 1055.7 1073.5 (n=32768)
33MAP_POPULATE (prefault) 796.4 846.9 (n=32768)
34mmap+munmap 4K (churn) 1663.9 1784.1 (n=100000)
35
36### coste del sandbox: crear namespaces (us por proceso)
37BENCH min mediana
38fork+exec /bin/true (base) 1648.6 2092.8 (n=100)
39fork+unshare(6 ns)+exec 2742.0 2922.3 (n=100)
40fork+unshare(USER|MNT)+exec 2050.4 2512.9 (n=100)