Librería Haskell optimiza cálculos de arrays de alto rendimiento

El proyecto Data.Array.Accelerate, desarrollado por el equipo AccelerateHS, es una librería Haskell que define un lenguaje embebido especializado para cálculos de arrays de alto rendimiento. Esta herramienta permite expresar computaciones sobre arrays multidimensionales regulares mediante operacione

Spectre: lenguaje con contratos para desarrollo seguro de bajo nivel

Spectre es un nuevo lenguaje de programación diseñado para el desarrollo seguro de sistemas de bajo nivel mediante el uso de contratos. El lenguaje permite definir invariantes a nivel de tipo y precondiciones y postcondiciones a nivel de funciones, ofreciendo seguridad a través de inmutabilidad por

Async Rust: optimización busca código más ligero

Desarrolladores de Async Rust están buscando optimizaciones para reducir el tamaño del código binario, un problema especialmente relevante en entornos con recursos limitados como microcontroladores. El problema surge porque el uso de Async Rust introduce una cantidad significativa de 'bloat' o códig

Fil-C: C/C++ más seguro con nueva técnica

Fil-C es un nuevo enfoque para implementar C/C++ con seguridad de memoria. El proyecto, detallado en corsix.org, busca resolver los problemas de seguridad inherentes a estos lenguajes mediante una transformación automatizada del código fuente. En su modelo simplificado, Fil-C inserta un `AllocationR

Llvm soluciona caída del 25% en rendimiento RISC-V

Un ingeniero ha identificado y corregido una regresión de rendimiento del 25% en el compilador LLVM al generar código para procesadores RISC-V. El problema surgió tras una reciente modificación en LLVM que, aunque optimizaba ciertas conversiones de punto flotante, inadvertidamente rompió una optimiz

División rápida: optimización en sistemas de 64 bits

Este artículo de investigación aborda un problema de optimización en la programación de computadoras: la división de números enteros sin signo de 32 bits por constantes en arquitecturas de 64 bits. Aunque la división por constantes es una operación común, su implementación eficiente puede ser un cue

Go llega a microcontroladores con TinyGo

TinyGo, un nuevo compilador basado en LLVM, ha expandido la capacidad del lenguaje de programación Go para abarcar sistemas embebidos y WebAssembly (WASM). El proyecto, impulsado por los autores de TinyGo, permite a los desarrolladores compilar y ejecutar programas Go en más de 100 placas de microco

Han: Nuevo lenguaje de programación con claves en coreano

Un nuevo lenguaje de programación llamado 'Han' ha sido desarrollado y se distingue por utilizar palabras clave en coreano, aprovechando el sistema de escritura Hangul. Creado por Xodn y basado en Rust, Han busca ofrecer una experiencia de programación única, combinando la belleza del diseño lingüís

Fedora en RISC-V: avances y lentitud en la compilación

Un desarrollador de Fedora Linux ha detallado el progreso y los desafíos en la adaptación del sistema operativo a la arquitectura RISC-V. Desde hace aproximadamente tres meses, se ha trabajado en la triagem de paquetes, con un total de 86 solicitudes de extracción (pull requests) enviadas para paque

Rust: Propuesta optimiza la llamada de funciones

Este artículo explora una propuesta para mejorar la convención de llamada en Rust, especialmente en arquitecturas x86, y cómo esto impacta la eficiencia del código generado. La convención de llamada define cómo se pasan los argumentos a las funciones y cómo se devuelven los valores, y la actual conv

LFortran compila fpm: avance clave para su beta

LFortran ha logrado compilar con éxito el Fortran Package Manager (fpm), un proyecto complejo que ha permitido identificar y corregir numerosos errores y carencias en el compilador. Este logro, completado el 7 de febrero de 2026, marca un hito importante en el desarrollo de LFortran, acercándolo a s

C: Nueva herramienta evita errores de memoria

`fbounds-safety` es una extensión para el lenguaje C que busca abordar un problema crítico: los accesos a memoria fuera de los límites (out-of-bounds, OOB). Estos accesos son una fuente común de vulnerabilidades de seguridad en C, y esta extensión tiene como objetivo eliminarlos convirtiendo estos a

Swift 6.0: Retraso por Problemas Técnicos

El desarrollo de Swift 6.0 enfrenta importantes obstáculos técnicos que impiden su lanzamiento estable, según un análisis detallado publicado en GitHub por LadybirdBrowser. La lista de problemas abarca desde incompatibilidades con LLVM, errores en la gestión de tipos opcionales entre Swift y C++, ha

BarraCUDA: CUDA en AMD GPUs, sin intermediarios

Un desarrollador ha creado BarraCUDA, un compilador de código abierto que permite ejecutar código CUDA en GPUs de AMD. El proyecto, escrito en C99 sin dependencia de LLVM, traduce archivos .cu directamente a código máquina GFX11 para GPUs AMD RDNA 3. Esto elimina la necesidad de capas de traducción

Llamadas a funciones: ¿Cuánto cuestan y cómo optimizarlas?

En programación, es común encadenar funciones, donde una función llama a otra. Aunque esto es una práctica habitual, cada llamada de función tiene un costo en términos de rendimiento. Este artículo explora ese costo y cómo los compiladores pueden optimizarlo a través de una técnica llamada 'inlining