acm-header
Sign In

Communications of the ACM

Blogroll


Refine your search:
datePast Year
authorDaniel Lemire
bg-corner

Generating arrays at compile-time in C++ with lambdas
From Daniel Lemire's Blog

Generating arrays at compile-time in C++ with lambdas

Suppose that you want to check whether a character in C++ belongs to a fixed set, such as ‘\0’, ‘\x09’, ‘\x0a’,’\x0d’, ‘ ‘, ‘#’, ‘/’, ‘:’, ‘<‘, ‘>’, ‘?’, ‘@’, ‘...

Appending to an std::string character-by-character: how does the capacity grow?
From Daniel Lemire's Blog

Appending to an std::string character-by-character: how does the capacity grow?

In C++, suppose that you append to a string one character at a time: while(my_string.size() <= 10'000'000) { my_string += "a"; } In theory, it might be possible...

For processing strings, streams in C++ can be slow
From Daniel Lemire's Blog

For processing strings, streams in C++ can be slow

The C++ library has long been organized around stream classes, at least when it comes to reading and parsing strings. But streams can be surprisingly slow. ForContinue...

How many billions of transistors in your iPhone processor?
From Daniel Lemire's Blog

How many billions of transistors in your iPhone processor?

In about 10 years, Apple has multiplied by 19 the number of transistors in its mobile processors. It corresponds roughly to a steady rate of improvement of 34%Continue...

Randomness in programming (with Go code)
From Daniel Lemire's Blog

Randomness in programming (with Go code)

Computer software is typically deterministic on paper: if you run twice the same program with the same inputs, you should get the same outputs. In practice, the...
Sign In for Full Access
» Forgot Password? » Create an ACM Web Account