<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/tags/assembly/best-of/2024" -->

---
title: Best Assembly posts of 2024 | daily.dev
description: The most upvoted Assembly posts of 2024, curated by the daily.dev community.
canonical: https://daily.dev/tags/assembly/best-of/2024
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:url: https://daily.dev/tags/assembly/best-of/2024
og:type: website
og:site_name: daily.dev
og:title: Best Assembly posts of 2024 | daily.dev
og:description: The most upvoted Assembly posts of 2024, curated by the daily.dev community.
og:image: https://media.daily.dev/image/upload/s--VAY5ToZt--/f_auto/v1724209435/public/daily.dev%20-%20open%20graph
---

# Best of Assembly — 2024

1. 1  
[](/posts/legendary-programmers-5o3voekow "Legendary Programmers")  
Video  
![Avatar of bigboxswe](https://media.daily.dev/image/upload/s--KMRj-zRu--/f_auto/v1711188128/logos/bigboxswe)bigboxSWE · 2y  
Legendary Programmers  
Legendary programmers who made significant contributions to the programming and software engineering world, including Lonus Tals, Richard Stallman, John Karmac, Fabr Bard, Dennis Richie, Ken Thompson, Kathleen Booth, and Terry Davis.  
47  
6
2. 2  
[](/posts/returninfinity-baremetal-os-build-script-for-baremetal-os-and-its-related-utilities-zmihv19we "ReturnInfinity/BareMetal-OS: Build script for BareMetal OS and its related utilities")  
Article  
![Avatar of hn](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/hn)Hacker News · 2y  
ReturnInfinity/BareMetal-OS: Build script for BareMetal OS and its related utilities  
BareMetal OS is an exokernel-based operating system designed in x86-64 assembly for high efficiency and flexibility. It directly exposes hardware resources to applications, allowing developers to optimize their software for specific tasks. Installation and running instructions for both virtual and physical systems are provided, with dependencies that include NASM, QEMU, GCC, Git, and mtools. The system includes several components such as Pure64 boot loader, BareMetal kernel, and various demo programs.  
34
3. 3  
[](/posts/writing-a-c-compiler-bdrcvsgdh "Writing a C Compiler")  
Article  
![Avatar of hn](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/hn)Hacker News · 2y  
Writing a C Compiler  
The post provides a comprehensive guide to writing a C compiler, divided into three parts. The first part covers the basic elements such as unary and binary operators, loops, and functions. The second part delves into more complex data types like long integers, floating-point numbers, pointers, arrays, and dynamic memory allocation. The final part focuses on optimizing programs, including register allocation. The post also includes appendices on debugging assembly code and assembly generation.  
34  
2
4. 4  
[](/posts/for-loops-and-more-in-go-iruo0pw1p "For Loops and More in Go")  
Article  
![Avatar of ardlbs](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/22ce9de869f24137bce6d1694dbe5f6e)Ardan Labs · 3y  
For Loops and More in Go  
Learn about different ways to write a for loop in Go, including using more than one variable, label breaks, range loop semantics, and the goto statement. Understand the assembly output and discover the nuances of looping in Go.  
32
5. 5  
[](/posts/every-programming-language-explained-in-15-minutes-prime-reacts-roekazdaa "Every programming language explained in 15 minutes | Prime Reacts")  
Video  
![Avatar of primeagen](https://media.daily.dev/image/upload/s--J5-GjDeo--/f_auto/v1704628081/logos/primeagen.jpg)ThePrimeTime · 3y  
Every programming language explained in 15 minutes | Prime Reacts  
A post discussing various programming languages, including Assembly, Fortran, Cobol, Lisp, Python, and more. It provides brief insights into the history and uses of each language without explicitly mentioning the article.  
21  
1
6. 6  
[](/posts/below-hellosilicon-an-introduction-to-arm64-assembly-on-apple-silicon-macs-yaogxtjss "below/HelloSilicon: An introduction to ARM64 assembly on Apple Silicon Macs")  
Article  
![Avatar of hn](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/hn)Hacker News · 2y  
below/HelloSilicon: An introduction to ARM64 assembly on Apple Silicon Macs  
This post provides an introduction to ARM64 assembly on Apple silicon Macs, including the prerequisites for coding and the key differences between Linux and Darwin assembly.  
17
7. 7  
[](/posts/performance-of-rust-s-match-vs-lookup-tables-jbhoeotnb "Performance of Rust's match vs. lookup tables")  
Article  
![Avatar of lobsters](https://media.daily.dev/image/upload/s--tl8v_Fku--/f_auto,t_logo/v1698841318/logos/lobste.jpg)Lobsters · 2y  
Performance of Rust's match vs. lookup tables  
The post explores the performance differences between using Rust's \`match\` statements and lookup tables for certain bioinformatics algorithms, particularly focusing on how different methods perform in specific tasks. Through detailed benchmark tests and analysis of generated assembly and LLVM IR code, it concludes that inlined lookups are generally faster due to requiring fewer instructions. Additionally, the use of the \`lazy\_static\` crate introduces overhead that can affect performance measurements.  
14  
1
8. 8  
[](/posts/compiling-to-assembly-from-scratch-wufmbsmkt "Compiling to Assembly from Scratch")  
Article  
![Avatar of hn](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/hn)Hacker News · 2y  
Compiling to Assembly from Scratch  
Learn how to build a compiler from scratch covering both compiler theory and assembly programming. This book, authored by Vladimir Keleshev and initially published as an ebook in 2020, uses a subset of TypeScript targeting the ARM 32-bit instruction set. It includes exclusive illustrations and a print edition available for purchase. Source code and ports in Python and OCaml are available on GitHub.  
14  
1
9. 9  
[](/posts/4-billion-if-statements-prime-reacts-81jby5luk "4 Billion If Statements | Prime Reacts")  
Video  
![Avatar of primeagen](https://media.daily.dev/image/upload/s--J5-GjDeo--/f_auto/v1704628081/logos/primeagen.jpg)ThePrimeTime · 3y  
4 Billion If Statements | Prime Reacts  
The article discusses the use of if statements in programming, the modulus operator, and the tradeoff between time and memory. The author explores the idea of checking if a number is odd or even using comparisons and shares their experience with implementing the algorithm in different programming languages. They encounter drawbacks with large numbers but manage to overcome them with a unique approach.  
14
10. 10  
[](/posts/ffmpeg-devs-boast-of-up-to-94x-performance-boost-after-implementing-handwritten-avx-512-assembly-cod-mfxqhuzku "FFmpeg devs boast of up to 94x performance boost after implementing handwritten AVX-512 assembly code")  
Article  
![Avatar of hn](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/hn)Hacker News · 2y  
FFmpeg devs boast of up to 94x performance boost after implementing handwritten AVX-512 assembly code  
FFmpeg developers have significantly boosted performance by implementing handwritten AVX-512 assembly code, achieving up to 94 times speed improvement depending on the workload. This optimization enables enhanced processing of large data sets, particularly beneficial for video and image processing tasks. However, it's limited to high-performance, AVX-512-capable hardware, excluding recent Intel Core processors but supported by AMD's Ryzen 9000-series CPUs.  
12
11. 11  
[](/posts/weird-things-i-learned-while-writing-an-x86-emulator-kxduonzmd "Weird things I learned while writing an x86 emulator")  
Article  
![Avatar of hn](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/hn)Hacker News · 2y  
Weird things I learned while writing an x86 emulator  
This post explores the unique and unexpected aspects of writing an x86 and AMD64 emulator, including interesting bits about alternate instruction encodings, the use of prefix bytes in x86 instructions, and peculiarities in segment register handling. The author shares anecdotes from the process, explaining various quirks like how segment overrides work in modern CPUs and the differences between instructions that at first seem identical.  
12
12. 12  
[](/posts/simd-in-golang-part-1-of--php1iff0s "SIMD in Golang, part 1 of ?")  
Article  
![Avatar of community](https://media.daily.dev/image/upload/t_logo,f_auto/v1655817725/logos/community)Community Picks · 2y  
SIMD in Golang, part 1 of ?  
Exploring the use of SIMD in Golang by running assembly directly, this post discusses the potential performance improvements and challenges. The Go assembler, Plan 9 based, allows writing of intermediate code before compiling to architecture-specific objects, with notable performance boosts as seen in projects like Apache Arrow. Examples from various sources, such as Go's own source code and production code from Segmentio, illustrate practical applications. While fun and insightful, writing assembly for Go can be complex and is recommended for specialized use cases rather than general projects.  
11

[See all Assembly archives](/tags/assembly/best-of)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@graph":[{"@type":"CollectionPage","@id":"https://daily.dev/tags/assembly/best-of/2024#page","url":"https://daily.dev/tags/assembly/best-of/2024","name":"Best Assembly Posts of 2024","description":"The most upvoted Assembly posts of 2024, curated by the daily.dev community.","isPartOf":{"@type":"WebSite","url":"https://daily.dev"}},{"@type":"ItemList","@id":"https://daily.dev/tags/assembly/best-of/2024#items","numberOfItems":12,"itemListElement":[{"@type":"ListItem","position":1,"url":"https://daily.dev/posts/legendary-programmers-5o3voekow","name":"Legendary Programmers"},{"@type":"ListItem","position":2,"url":"https://daily.dev/posts/returninfinity-baremetal-os-build-script-for-baremetal-os-and-its-related-utilities-zmihv19we","name":"ReturnInfinity/BareMetal-OS: Build script for BareMetal OS and its related utilities"},{"@type":"ListItem","position":3,"url":"https://daily.dev/posts/writing-a-c-compiler-bdrcvsgdh","name":"Writing a C Compiler"},{"@type":"ListItem","position":4,"url":"https://daily.dev/posts/for-loops-and-more-in-go-iruo0pw1p","name":"For Loops and More in Go"},{"@type":"ListItem","position":5,"url":"https://daily.dev/posts/every-programming-language-explained-in-15-minutes-prime-reacts-roekazdaa","name":"Every programming language explained in 15 minutes | Prime Reacts"},{"@type":"ListItem","position":6,"url":"https://daily.dev/posts/below-hellosilicon-an-introduction-to-arm64-assembly-on-apple-silicon-macs-yaogxtjss","name":"below/HelloSilicon: An introduction to ARM64 assembly on Apple Silicon Macs"},{"@type":"ListItem","position":7,"url":"https://daily.dev/posts/performance-of-rust-s-match-vs-lookup-tables-jbhoeotnb","name":"Performance of Rust's match vs. lookup tables"},{"@type":"ListItem","position":8,"url":"https://daily.dev/posts/compiling-to-assembly-from-scratch-wufmbsmkt","name":"Compiling to Assembly from Scratch"},{"@type":"ListItem","position":9,"url":"https://daily.dev/posts/4-billion-if-statements-prime-reacts-81jby5luk","name":"4 Billion If Statements | Prime Reacts"},{"@type":"ListItem","position":10,"url":"https://daily.dev/posts/ffmpeg-devs-boast-of-up-to-94x-performance-boost-after-implementing-handwritten-avx-512-assembly-cod-mfxqhuzku","name":"FFmpeg devs boast of up to 94x performance boost after implementing handwritten AVX-512 assembly code"},{"@type":"ListItem","position":11,"url":"https://daily.dev/posts/weird-things-i-learned-while-writing-an-x86-emulator-kxduonzmd","name":"Weird things I learned while writing an x86 emulator"},{"@type":"ListItem","position":12,"url":"https://daily.dev/posts/simd-in-golang-part-1-of--php1iff0s","name":"SIMD in Golang, part 1 of ?"}]},{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Tags","item":"https://daily.dev/tags"},{"@type":"ListItem","position":3,"name":"Assembly","item":"https://daily.dev/tags/assembly"},{"@type":"ListItem","position":4,"name":"Best of","item":"https://daily.dev/tags/assembly/best-of"},{"@type":"ListItem","position":5,"name":"2024"}]}]}
```

