Tutorial: aprende a pensar en К para procesar matrices eficientemente

K es un lenguaje de programación array, miembro de la familia APL, especializado en el procesamiento eficiente de datos multidimensionales. A diferencia de lenguajes imperativos como Python o C, K fonctionne de manera declarativa: opera sobre arrays completos en lugar de iterar elemento por elemento

Mozilla elimina asm.js de Firefox: fin de la ejecución nativa en la web

Mozilla ha deshabilitado por defecto las optimizaciones de asm.js en Firefox 148 y eliminará el código completamente en versiones futuras. Lanzado en Firefox 22 en 2013, asm.js fue la respuesta de Mozilla a la propuesta de Google NaCl: ejecutar código a velocidades nativas en la web mediante un subc

Desarrollador logra que ZX Spectrum renderice 3D a 40 fotogramas por segundo

Un desarrollador ha logrado implementar renderizado 3D en un ZX Spectrum 48K+, utilizando técnicas de optimización que mejoran dramáticamente el rendimiento. El proyecto, publicado en GitHub, parte de una versión inicial en C que lograba 6,2 fotogramas por segundo. Posteriormente, el autor reescribi

Jank crea IR personalizada para optimizar código Clojure

El compilador de Clojure 'jank' ha implementado su propia representación intermedia (IR) personalizada, diseñada específicamente para optimizar el código a nivel de semántica del lenguaje Clojure. Anteriormente, jank delegaba toda la optimización a LLVM, pero debido a que LLVM IR opera a un nivel mu

El misterio de a++ + ++a: por qué el mismo código C da resultados diferentes

El contenido explora el comportamiento indefinido (UB) en expresiones C/C++ que combinan operadores de incremento pre (++a) y post (a++). El caso central analizado es a = a++ + ++a. Se demuestra teóricamente cómo existen múltiples posibilidades de evaluación: el orden de captura de valores y cuándo

Una línea de código en APL: mi viaje de 7 meses creando un juego de voxeles

Este contenido narra la historia de una línea de código en APL (A Programming Language) que cambió la perspectiva del autor sobre su desarrollo como programador. El projeto consiste en un juego de voxeles escrito en Dyalog APL durante aproximadamente 7 meses, donde el autor aprendió APL específicame

Desarrolladores piden priorizar experiencia sobre velocidad extrema

Desarrolladores de software abogan por priorizar la experiencia del desarrollador (DX) sobre las métricas tradicionales de rendimiento. Según un artículo de Christian Rackerseder en echooff.dev, muchos equipos de ingeniería dedican semanas a optimizar el rendimiento de renderizado por milisegundos,

Swift alcanza Teraflops entrenando LLMs en Apple Silicon

Este artículo explora cómo optimizar operaciones de multiplicación de matrices en Swift para entrenar Large Language Models (LLMs) en Apple Silicon, buscando alcanzar rendimiento de Teraflop/s desde el punto de partida de Gigaflops. El autor, Matt Gallagher, toma como referencia la implementación ll

...

Julia es un lenguaje de programación que combina la flexibilidad de los lenguajes interpretados como Python con el rendimiento de los lenguajes compilados como C++ o Fortran, gracias a su compilación Just-In-Time (JIT). El rumor de que Julia puede igualar el rendimiento de C++ es cierto, pero alcanz

IA mejora código ensamblador y acelera rendimiento

Investigadores han demostrado que la inteligencia artificial (IA), específicamente modelos como Grok y Claude, pueden optimizar código en lenguaje ensamblador, logrando mejoras significativas en el rendimiento. Daniel Lemire, investigador, llevó a cabo un experimento donde solicitó a estas IA que op

Investigación de Lighterra: Referente en Informática

La colección de artículos y papers de Lighterra, liderada por Jason R. C. Patterson, abarca una impresionante variedad de temas en informática, desde el diseño de microprocesadores hasta la optimización de compiladores y la calidad de video en la web. El trabajo de Patterson, a menudo originado como

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

Prueba de primalidad optimizada para 32 bits

Este artículo explica cómo implementar una prueba de primalidad determinista para números de 32 bits utilizando una optimización basada en bases específicas. La primalidad, o si un número es primo, es un concepto fundamental en matemáticas y criptografía. Verificar la primalidad de números grandes e

Agente IA optimiza código, mejora rendimiento en IA

Un agente de codificación ha logrado optimizar el código de Flash Attention en llama.cpp en un 15% para x86 y un 5% para ARM, gracias a la incorporación de una fase de investigación previa a la codificación. El equipo de SkyPilot, utilizando la herramienta autoresearch (y su versión generalizada, pi

Compiladores: ¿Más simples de lo que creemos?

El artículo de Golden explora una perspectiva inusual sobre la complejidad de los compiladores de lenguajes de programación. Tradicionalmente, se asume que los compiladores modernos son enormes, con millones de líneas de código que abarcan desde la interfaz de usuario (frontend) hasta la gestión de

Shufflepuck Cafe revive en Apple II: un logro técnico

Un desarrollador ha logrado portar el juego 'Shufflepuck Cafe', originalmente lanzado para sistemas de 1989, a la plataforma Apple II de 1979, superando importantes desafíos técnicos. El proyecto, detallado en la revista Juiced.GS, implicó la creación de una perspectiva 3D simulada utilizando transf

Optimizador Toy: análisis de alias para código más eficiente

Este artículo del blog de Bernstein Bear explora una técnica llamada 'análisis de alias basado en tipos' (TBAA) dentro del contexto de un optimizador de código (Toy Optimizer). El objetivo es mejorar la capacidad del optimizador para comprender cómo los diferentes objetos en la memoria interactúan e

IA duplica la velocidad de biblioteca de código Quamina

El desarrollador Tim Bray ha compartido una experiencia inusual sobre cómo la inteligencia artificial generativa (GenAI), específicamente el modelo Claude, ha mejorado significativamente el rendimiento de su biblioteca de código Quamina. Inicialmente reacio a experimentar con GenAI, Bray se sorprend