Creează un cont pentru a te abona la acest blog și a-i urmări articolele pe pagina Lectură.
-
Superoptimization is the process where a compiler automatically finds the optimal sequence for a loop-free sequence of instructions. – Wikipedia Compilers are good at making mechanical transformations that make code faster.
-
I started speedrunning Minecraft a while ago.
-
vfmaddrnd231pd is a unique instruction from the FMA instruction set.
-
clz and ctz are instructions that compute the number of leading (trailing) zero bits in a fixed-size integer.
-
I’ve been thinking about where I stand in respect to the current state of the industry.
-
When learning new topics, we always ask questions we can’t find answers to.
-
So I’ve been meaning to write about something, but got sucked into this rabbit hole, and now I’m kinda scared if I’ve been a subject of propaganda that worked on me.
-
While I’m taking a short break from low-level programming, here’s a story by a friend of mine, Sonya, about debugging a seemingly impossible bug in ARM code.
-
This post is about Windows.
-
WinAPI represents most “things” as HANDLEs: files, cross-process mutexes, threads, jobs, etc.
-
Last time, I found out that Rust’s implementation of subprocesses on Windows makes it impossible to spawn children that inherit selected handles without race conditions.
-
Say you’re writing a Windows IPC library for Rust, and you want to pass a handle to a child process.
-
I found the post SIMD in Pure Python by retr0id about optimizing Game of Life and thought it’s a good opportunity to yap about SWAR.
-
About two months ago, I found the Teal programming language, which describes itself as a statically-typed dialect of Lua.
-
If a>b>1 and x>1, you can prove that logax<logbx.
-
I need a place to describe this algorithm, since it seems to be undocumented on the 'net, so here it is.
-
So I was optimizing a domain-specific compressor the other day, as one does.
-
This problem arose when I was writing a specialized data compressor.
-
I blog because I want to share knowledge.
-
Intended audience: data compression geeks.
-
This is a guest post by Yuki about some tricks we use for Lua code compression in our shared ComputerCraft pet project.
-
This post assumes basic familiarity with arithmetic coding.
-
2945 bytes.
-
Everyone knows Wasm is a stack machine.
-
I needed to convert file status flags between operating systems yesterday.
-
The appearance of Mythos – a private LLM allegedly capable of finding a multitude of 0-days – has made people concerned about being denied powerful tools.
-
In case you’re unaware, I’m not a developer.
-
What came to your mind when you read “hash functions” in the title?
-
This is a rant about how broken everything Web is based on is.
-
Minecraft generates a bedrock floor at the bottom of the world from a random noise.
-
Two years ago, I was pondering ways to enhance borrowck with proof-based analysis.
-
The story goes like this.
-
Last year, Lemire wrote about an optimized variation of the Euclidean algorithm for computing the greatest common divisor of two numbers, called binary Euclidean algorithm or Stein’s algorithm.
-
Functions in binary files need to have unique names, so Rust needs to decide what to call its functions and statics.
-
This article is a technical counterpart of my previous post Finding duplicated code with tools from your CS course.
-
Recently I was scrolling through brson’s Rust quote database and stumbled upon a link to the official Rust tutorial from the very beginning of 2013.
-
Say you want to send a list of consumer records to another microservice over network via JSON.
-
Suppose that you’re writing a static analyzer and you want to write a diagnostic for match arms with equal bodies: match number { 1 => { // <-- let x = 1; f(x) } 2 => f(g(h())), 3 => "", 4 => { // <-- let x = 1;
-
Some time ago, I played around with decompiling Java class files in a more efficient manner than traditional solutions like Vineflower allow.
-
A few days ago, I stumbled upon a Hacker News discussion about the expression problem – a conundrum that occasionally arises in software design.
-
Fenwick trees and interval trees are well-known data structures in computer science.
-
Here, read the intro of the Wikipedia page for Command pattern with me: In object-oriented programming, the command pattern is a behavioral design pattern in which an object is used to encapsulate all information needed to perform an action or trigger an…
-
In contemporary “AI” discourse, people often make a point that LLM output cannot be trusted, since it contains hallucinations, often doesn’t handle edge cases properly, causes vulnerabilities, and so on.
-
This is a tech phenomenon that I keep getting blindsided by no matter how much I try to anticipate it.
-
I’m making progress on the Java decompiler I’ve mentioned in a previous post, and I want to share the next couple of tricks I’m using to speed it up.
-
This post is about a popular but niche technique I can never find a succinct reference for.
-
I’m working on a Java decompiler because I’m not satisfied with the performance of other solutions.
-
I’m not talking about skill, knowledge, or convincing a world focused on radical acceleration that optimization is necessary.
-
Null pointers look simple on the surface, and that’s why they’re so dangerous.
-
The RAM myth is a belief that modern computer memory resembles perfect random-access memory.