8 repository-uri
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 este o implementare de înaltă performanță a limbajului Lua și un compilator just-in-time. Funcționează ca un motor de scripting încorporat și un traducător binar dinamic care convertește bytecode-ul portabil în cod mașină nativ în timpul execuției. Proiectul se concentrează pe scripting de înaltă performanță prin traducerea bytecode-ului în instrucțiuni specifice arhitecturii pentru a atinge viteze de execuție apropiate de codul C compilat. Utilizează un mediu de runtime ușor, conceput pentru un overhead minim de memorie. Sistemul suportă procesarea datelor binare prin operații pe biți și permite gestionarea sarcinilor asincrone prin integrarea corutinelor C. De asemenea, oferă capabilități pentru generarea de cod la runtime și crearea de instrucțiuni personalizate de cod mașină.
Identifies frequently executed linear code paths and compiles them into optimized machine code sequences.
Hotspot este o interfață grafică pentru analizarea și vizualizarea datelor de performanță capturate de instrumentul Linux perf. Acesta funcționează ca un vizualizator de profilare a performanței și un profiler la nivel de asamblare care mapează costurile de performanță către instrucțiuni specifice sincronizate cu codul sursă original. Proiectul se distinge printr-un resolver de simboluri la distanță care mapează datele de performanță de la țintele embedded către simbolurile de debug ale gazdei locale și sysroots. Include, de asemenea, un instrument specializat de analiză off-CPU conceput pentru a identifica timpii de așteptare ai thread-urilor și blocajele I/O folosind tracepoint-urile scheduler-ului de kernel. Instrumentul acoperă o gamă largă de capabilități de analiză a performanței, inclusiv profilarea CPU, inspecția codului de nivel scăzut și filtrarea datelor bazată pe cronologie. Oferă metode de vizualizare precum flame graphs și call graphs pentru a identifica blocajele sistemului și funcțiile inlined. Sistemul suportă înregistrarea datelor prin lansarea instrumentelor de profilare pentru aplicații noi sau atașarea la procese existente și permite exportul profilurilor de performanță analizate în formate portabile pentru partajarea între mașini.
Enables optimization of critical paths by examining the cost of individual assembly instructions synchronized with source code.
BASIC-M6502 este o implementare a limbajului BASIC pentru microprocesoare pe 8 biți. Oferă un mediu de execuție care permite programelor scrise într-un limbaj de nivel înalt, similar cu engleza, să ruleze pe hardware 6502, având suport pentru funcții matematice și aritmetică în virgulă mobilă. Proiectul este conceput pentru portarea hardware cross-platform, utilizând compilare condiționată și macro-uri pentru a adapta un singur cod sursă pe diferite sisteme retrocomputing. Utilizează straturi de abstractizare hardware pentru a gestiona rutinele de intrare și ieșire bazate pe caractere. Sistemul include gestionarea memoriei încorporate cu alocare dinamică și garbage collection de tip mark-and-sweep pentru șiruri și variabile. De asemenea, oferă primitive pentru manipularea șirurilor și a tablourilor și utilizează emularea software pentru operațiile în virgulă mobilă.
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.