acm-header
Sign In

Communications of the ACM

Blogroll


Refine your search:
datePast Month
authorDaniel Lemire
bg-corner

Mixing ARM NEON with SVE code for fun and profit
From Daniel Lemire's Blog

Mixing ARM NEON with SVE code for fun and profit

Most mobile devices use 64-bit ARM processors. A growing number of servers (Amazon, Microsoft) also use 64-bit ARM processors. These processors  have special instructions...

Unsigned comparisons using signed types
From Daniel Lemire's Blog

Unsigned comparisons using signed types

There are two main types of fixed-precision integers in modern software: unsigned and signed. In C++20 and above, the signed integers must use the two’s complement...

Speeding up C++ code with template lambdas
From Daniel Lemire's Blog

Speeding up C++ code with template lambdas

Let us consider a simple C++ function which divides all values in a range of integers: void divide(std::span<int> i, int d) { for (auto& value : i) { value /= d...

An overview of parallel programming (Go edition)
From Daniel Lemire's Blog

An overview of parallel programming (Go edition)

In practice, the software we write runs on several processors. Unfortunately, much of what we take for granted on a single processor becomes false when there are...

How fast can you open 1000 files?
From Daniel Lemire's Blog

How fast can you open 1000 files?

Jarred Sumner, the main author of the Bun JavaScript engine, commented a few days ago on X that opening many files on macOS could be slow due to thread contention...
Sign In for Full Access
» Forgot Password? » Create an ACM Web Account