Sign In

Communications of the ACM

Blogroll



Benchmarking is Hard: Processors Learn to Predict Branches
From Daniel Lemire's Blog

Benchmarking is Hard: Processors Learn to Predict Branches

A lot of software is an intricate of branches (if–then clauses). For performance reasons, modern processors predict the results of these branches. In my previous...

Mispredicted branches can multiply your running times
From Daniel Lemire's Blog

Mispredicted branches can multiply your running times

Modern processors are superscalar, meaning that they can execute many instructions at once. For example, some processors can retire four or six instructions per...

Science and Technology (October 12th 2019)
From Daniel Lemire's Blog

Science and Technology (October 12th 2019)

In many countries, like Canada, there is relatively little private (business) research. Meanwhile, other research indicates that private research is precisely the...

The price of  a MacBook Air worldwide
From Daniel Lemire's Blog

The price of a MacBook Air worldwide

Apple sells identical laptops worldwide. There might be small differences with respect to power adaptors and so forth, but the laptops are the same internally.Continue...

Science and Technology links (September 28th 2019)
From Daniel Lemire's Blog

Science and Technology links (September 28th 2019)

Researchers have effectively rejuvenated the damaged skin of mice by using “exosomes”. These are packages that cells send in their environment, and it appears that...

Doubling the speed of std::uniform_int_distribution in the GNU C++ library
From Daniel Lemire's Blog

Doubling the speed of std::uniform_int_distribution in the GNU C++ library

The standard way in C++ to generate a random integer in a range is to call the std::uniform_int_distribution function. The current implementation of std::uniform_int_distribution...

Science and Technology links (September 21st 2019)
From Daniel Lemire's Blog

Science and Technology links (September 21st 2019)

Amputees suffer from lack of sensory feedback from the missing limbs. Researchers found it beneficial to provide artificial sensory feedback. More economicallyContinue...

My kindergarten story
From Daniel Lemire's Blog

My kindergarten story

Though I was a straight-A student for most of my high school and college years, I failed kindergarten. I have told this story many times but I realize that I have...

How far can you scale interleaved binary searches?
From Daniel Lemire's Blog

How far can you scale interleaved binary searches?

The binary search is the standard, textbook, approach when searching through sorted arrays. In a previous post, I showed how you can do multiple binary searches...

Science and Technology links (September 14th 2019)
From Daniel Lemire's Blog

Science and Technology links (September 14th 2019)

Streaming music makes up 80% of the revenue of the music industry. Revenue is up 18% for the first six months of 2019. This follows a record year in 2018 when the...

Speeding up independent binary searches by interleaving them
From Daniel Lemire's Blog

Speeding up independent binary searches by interleaving them

Given a long list of sorted values, how do you find the location of a particular value? A simple strategy is to first look at the middle of the list. If your value...

Science and Technology links (September 7th 2019)
From Daniel Lemire's Blog

Science and Technology links (September 7th 2019)

In a small clinical trial, scientists administered some “anti-aging” therapies to people between their fifties and sixties. They used growth hormone to regenerate...

Passing integers by reference can be expensive…
From Daniel Lemire's Blog

Passing integers by reference can be expensive…

In languages like C++, you can pass values to functions in two ways. You can pass by value: the value is semantically “copied” before being passed to the function...

Science and Technology links (August 31st 2019)
From Daniel Lemire's Blog

Science and Technology links (August 31st 2019)

The Conboy laboratory in Berkeley is responsible for some of the best work in aging research. In 2005, they showed that by connecting the blood vessels of an old...

How fast can scancount be?
From Daniel Lemire's Blog

How fast can scancount be?

In an earlier post, I described the following problem. Suppose that you have tens of arrays of integers. You wish to find all integer that are in more than 3 (say)...

Science and Technology links (August 24th 2019)
From Daniel Lemire's Blog

Science and Technology links (August 24th 2019)

The net contribution of the Amazon ecosystem to the world’s oxygen is effectively zero. Furthermore, there is a lot of oxygen in the air and it would be excessively...

Science and Technology links (August 17th 2019)
From Daniel Lemire's Blog

Science and Technology links (August 17th 2019)

Google may soon release an augmented-reality version of Google Maps for mobile phones. I have always found it difficult to identify the streets I see in an unfamiliar...

Faster threshold queries with cache-sensitive scancount
From Daniel Lemire's Blog

Faster threshold queries with cache-sensitive scancount

Suppose that you are given 100 sorted arrays of integers. You can compute their union or their intersection. It is a common setup in data indexing: the integers...

Science and Technology links (August 10th 2019
From Daniel Lemire's Blog

Science and Technology links (August 10th 2019

A short (less than one hour) online lesson improved grades among weaker students. The lesson taught the growth mindset: that intellectual abilities can be developed...

Science and Technology links (August 3rd 2019)
From Daniel Lemire's Blog

Science and Technology links (August 3rd 2019)

Reportedly, researchers in China are creating embryos that are part human and part monkey. Sickle cell disease is a genetic disease with no cure. In an attemptContinue...
Sign In for Full Access
» Forgot Password? » Create an ACM Web Account