Noticias que mencionan glibc

El allocator de musl reduce el rendimiento en Rust

Un desarrollador de Brokk AI documenta las severas penalizaciones de rendimiento que sufre la librería C musl cuando se utiliza como base para binarios estáticos en Rust. Tras migrar su proyecto Bifrost a musl buscando mayor portabilidad, el autor identificó una degradación significativa en la veloc

Novedades de Emacs 31.1: el fin del dumper unexec y mejoras de usabilidad

Emacs 31.1 ya está disponible y, a diferencia de entregas anteriores, no llega encabezado por una única gran característica: el esperado recolector de basura se ha aplazado a Emacs 32. La novedad más simbólica es el fin del dumper unexec, el método histórico que volcaba la memoria de Emacs a un bina

nss-userhosts: extensión NSS para entradas /etc/hosts por usuario

nss-userhosts es una biblioteca escrita en Rust (87,9 % del código, completado con Shell, Dockerfile y just) que actúa como módulo de Name Service Switch (NSS) para glibc. Su objetivo es permitir que cada usuario sin privilegios mantenga sus propios registros tipo /etc/hosts en archivos independient

SoLo: binarios estáticos de Linux que cargan el driver gráfico del sistema

SoLo es una librería de código abierto que resuelve una limitación clásica de los binarios estáticos de Linux: la imposibilidad de cargar bibliotecas dinámicas del sistema, en especial los drivers gráficos. Los ejecutables vinculados con musl son cómodos de distribuir (un solo fichero, sin dependenc

Cómo acelerar scripts Haskell en GitHub Actions con bundles en caché

Ejecutar scripts Haskell en GitHub Actions suele ser lento: cada ejecución parte de un runner limpio, sin caché de Nix ni de Magix, así que hay que instalar herramientas, descargar dependencias y compilar el guion desde cero. En un caso real, esa puesta en marcha consumió 92 de los 105 segundos tota

Wails v2.11.0: compilación cruzada para Linux y Windows, pero con obstáculos

Wails v2.11.0, el framework para aplicaciones de escritorio con Go y un frontend web, permite generar en una sola orden ejecutables e instaladores para Linux y Windows desde una máquina amd64 con Ubuntu 24 y Go 1.25.5. Un único comando produce archivos para linux/amd64, windows/amd64, windows/arm64

Nixpkgs tiene un problema de garantías procesales en su gobernanza

Un ex-colaborador veterano de Nix y NixOS denuncia que Nixpkgs carece de un proceso formal y transparente para la toma de decisiones de gobernanza. Relata que el 8 de junio de 2025 la delegación de committers le retiró el acceso de forma indefinida por un «patrón consistente de mal juicio», citando

std::hive de C++26: más rápido que list, pero no reemplaza a vector

std::hive, el nuevo contenedor que incorpora el estándar C++26, ocupa un espacio intermedio entre std::vector y std::list. Como un vector, almacena sus elementos en bloques contiguos de memoria, lo que permite recorrerlos sin saltar entre punteros; como una lista, nunca mueve un elemento tras insert

Escribir un programa en C válido sin función main(): tutorial paso a paso

Este tutorial técnico de iximiuz Labs muestra cómo construir un ejecutable en C que prescinde de la función main() y, opcionalmente, de toda la biblioteca estándar, recurriendo directamente a las llamadas al sistema del kernel de Linux. El recorrido parte de un programa «Hola, mundo» convencional co

Fil-C presenta ensamblador inline con seguridad de memoria

Fil-C, una variante de C y C++ con seguridad de memoria desarrollada por pizlonator, incorpora compatibilidad con ensamblador inline manteniendo las garantías de seguridad. La función, aún en fase preliminar y no incluida en el lanzamiento 0.679, requiere compilar desde el código fuente. El proyect

La variable de entorno LD_DEBUG para depurar bibliotecas compartidas en Linux

La variable de entorno LD_DEBUG es una herramienta poco conocida del enlazador dinámico de Linux que facilita el diagnóstico de problemas de carga de bibliotecas compartidas. En sistemas grandes con múltiples versiones de bibliotecas dinámicas, es habitual que se cargue una versión distinta de la es

La métrica de memoria de AWS Lambda oculta el consumo real del proceso

Un equipo de ingeniería detectó que una función de AWS Lambda que alojaba 40 modelos ONNX de unos 250 MB cada uno sufría errores OOM puntuales (1 de cada 100.000 solicitudes). Al reducir el tamaño de la caché LRU de 16 a 8, el problema se agravó: en tres horas se registraron más de 270 cierres SIGKI

Cómo reducir al mínimo un binario en C con GCC

Este artículo analiza paso a paso cómo reducir el tamaño de un ejecutable ELF en x86-64 compilado con GCC partiendo de un programa mínimo que simplemente devuelve 0 al sistema. El autor, mediante una serie de iteraciones con banderas del compilador y código ensamblador inline, consigue reducir el bi

Rusty Penguin crea un sistema operativo ternario desde cero en Rust puro

Rusty Penguin es un sistema operativo completo desarrollado desde cero en Rust puro, sin depender del kernel Linux ni de libc. Su innovación clave reside en la adopción de la lógica ternaria (-1, 0, +1) como primitiva fundamental en todas las capas: desde el planificador hasta el motor de inferencia

Chimera Linux: Minimalismo y FreeBSD en un SO

Un nuevo sistema operativo Linux llamado Chimera Linux ha sido presentado recientemente como una distribución minimalista construida desde cero. A diferencia de las distribuciones Linux tradicionales, Chimera utiliza musl como biblioteca C en lugar de glibc, dinit para la inicialización del sistema

zml-smi: monitoriza GPUs, TPUs y NPUs en una sola herramienta

Una nueva herramienta de código abierto llamada `zml-smi` ha sido lanzada para monitorizar GPUs, TPUs y NPUs de forma universal. Desarrollada por ZML, esta utilidad combina funcionalidades de `nvidia-smi` y `nvtop`, ofreciendo información en tiempo real sobre el rendimiento y la salud del hardware.

Neovim 0.12.0: Nuevo motor Lua y mejoras

El equipo de Neovim ha anunciado la disponibilidad de la versión 0.12.0 de su editor de texto, NVIM, a través de su repositorio de GitHub. Esta nueva versión incluye el motor de scripting LuaJIT 2.1.1774638290 y está disponible para descarga e instalación en Windows (tanto para arquitecturas x86_64

Optimiza tu código C: rendimiento y portabilidad

Este artículo explora técnicas para optimizar el rendimiento de software C, especialmente en arquitecturas x86-64, donde la capacidad de la CPU juega un papel crucial. El problema radica en que el código optimizado para una CPU específica puede no funcionar bien en otras, limitando la portabilidad.

C++: ¿por qué la memoria inicial es de 72 KB?

El artículo investiga por qué la primera asignación de memoria en C++ (usando `malloc`) suele ser de 72 KB. El autor, un desarrollador que experimenta con sus propios allocators de memoria, descubrió este patrón recurrente al registrar el tamaño de las asignaciones. Para rastrear el origen de esta a