8 repositorios
The practice of optimizing code based on the analysis of processor disassembly and machine code generation.
Distinct from Code Optimization: Distinct from general Code Optimization: specifically focuses on the low-level machine code and compiler behavior rather than high-level source refactoring.
Explore 8 awesome GitHub repositories matching software engineering & architecture · Low-Level Machine Code Optimizations. Refine with filters or upvote what's useful.
This project is a comprehensive technical guide to advanced Go programming. It serves as a programming guide, technical reference, and textbook covering low-level optimization and distributed systems architecture. The resource provides detailed instructions on writing assembly instructions to optimize performance-critical code and managing C-Go interoperability to bridge C libraries with Go. It also functions as a manual for implementing remote procedure call mechanisms and creating custom plugins for the Protocol Buffers compiler. The material covers high-level capabilities including the de
Provides detailed instructions on writing low-level CPU instructions to optimize performance-critical code sections.
Compiler Explorer is an online tool and analysis platform used to translate source code into assembly in real time. It functions as a cross-compiler analysis tool, allowing users to examine how various compilers and versions translate the same source code into machine code to analyze optimizations and generation patterns. The platform supports low-level language debugging and the comparison of assembly output across different compiler toolchains. It also provides a self-hosted environment option for users who need to run private deployments with custom binaries or operate within secure offlin
Verifies final machine code to identify performance bottlenecks or unexpected compiler behavior.
BenchmarkDotNet is a library and tool suite for measuring the execution time and memory allocation of .NET code. It utilizes statistical sampling and warm-up iterations to determine the stability and precise execution speed of specific methods. The project provides a JIT disassembly viewer to inspect processor disassembly and analyze how the compiler executes code paths. It includes a memory allocation profiler that tracks managed and native memory traffic to identify efficiency bottlenecks. Additionally, a runtime performance comparator allows the same benchmarks to be executed across differ
Analyzes processor disassembly and machine code to understand how the compiler optimizes specific execution paths.
This project is a collection of educational resources and technical guides focused on Go performance optimization. It provides instruction on improving execution speed and reducing memory usage through code and architectural refinements. The guides cover advanced strategies for low-level programming, including the use of assembly for SIMD instructions and unsafe pointers for direct memory manipulation. It also details concurrency optimization techniques such as lock sharding and cache-line padding to reduce contention and improve hardware utilization. The material encompasses broad capabilit
Provides advanced strategies for using unsafe pointers and assembly to optimize hardware cache and SIMD usage.
LuaJIT es una implementación de alto rendimiento del lenguaje Lua y un compilador just-in-time (JIT). Funciona como un motor de scripting embebido y un traductor binario dinámico que convierte bytecode portátil en código máquina nativo durante la ejecución. El proyecto se centra en el scripting de alto rendimiento traduciendo bytecode a instrucciones específicas de la arquitectura para lograr velocidades de ejecución cercanas al código C compilado. Utiliza un entorno de ejecución ligero diseñado para una sobrecarga de memoria mínima. El sistema admite el procesamiento de datos binarios mediante operaciones a nivel de bits y permite la gestión de tareas asíncronas a través de la integración de corrutinas de C. También proporciona capacidades para la generación de código en tiempo de ejecución y la creación de instrucciones de código máquina personalizadas.
Identifies frequently executed linear code paths and compiles them into optimized machine code sequences.
Hotspot es una interfaz gráfica de usuario para analizar y visualizar datos de rendimiento capturados por la herramienta perf de Linux. Funciona como un visualizador de perfiles de rendimiento y un perfilador a nivel de ensamblador que mapea los costos de rendimiento a instrucciones específicas sincronizadas con el código fuente original. El proyecto se distingue por un resolvedor de símbolos remoto que mapea datos de rendimiento de objetivos integrados a símbolos de depuración y sysroots del host local. También incluye una herramienta especializada de análisis fuera de CPU diseñada para identificar tiempos de espera de hilos y bloqueos de E/S utilizando puntos de seguimiento del planificador del kernel. La herramienta cubre una amplia gama de capacidades de análisis de rendimiento, incluyendo perfilado de CPU, inspección de código de bajo nivel y filtrado de datos basado en línea de tiempo. Proporciona métodos de visualización como gráficos de llama (flame graphs) y gráficos de llamadas para identificar cuellos de botella del sistema y funciones en línea. El sistema admite la grabación de datos lanzando herramientas de perfilado para nuevas aplicaciones o adjuntándose a procesos existentes, y permite exportar perfiles de rendimiento analizados a formatos portátiles para compartir entre máquinas.
Enables optimization of critical paths by examining the cost of individual assembly instructions synchronized with source code.
BASIC-M6502 is a BASIC language implementation for 8-bit microprocessors. It provides an execution environment that allows programs written in a high-level, English-like language to run on 6502 hardware, featuring support for mathematical functions and floating-point arithmetic. The project is designed for cross-platform hardware porting, using conditional compilation and macros to adapt a single codebase across different retrocomputing systems. It utilizes hardware abstraction layers to manage character-based input and output routines. The system includes embedded memory management with dyn
Produces efficient assembly code tailored for specific hardware platforms using a macro system and conditional compilation.
perf-ninja is a collection of educational resources and curricula focused on CPU architecture, memory hierarchies, SIMD programming, and low-level performance engineering. It provides instructional material and practical labs for identifying and fixing CPU bottlenecks, such as cache misses and branch mispredictions. The project differentiates itself through specialized training in hardware-level optimizations, including the use of compiler intrinsics for SIMD vectorization and the implementation of branchless predicate execution to eliminate pipeline stalls. It also covers advanced binary-lev
Offers an educational program for optimizing software to utilize hardware features like CPU caches and SIMD.