acm-header
Sign In

Communications of the ACM

Blogroll


bg-corner

Almost picking N distinct numbers at random
From Daniel Lemire's Blog

Almost picking N distinct numbers at random

In Picking N distinct numbers at random: how to do it fast?, I describe how to quickly pick N distinct values are random from a range of values. It comes down to...

Science and Technology links (May 4th 2019)
From Daniel Lemire's Blog

Science and Technology links (May 4th 2019)

It is often believed that colleges help class mobility… if you were born poor, college can help your rise up. So is there more class mobility when more people go...

Really fast bitset decoding for “average” densities
From Daniel Lemire's Blog

Really fast bitset decoding for “average” densities

Suppose I give you a word and you need to determine the location of the 1-bits. For example, given the word 0b100011001, you would like to get 0,3,4,8. You could...

Science and Technology links (April 27th 2019)
From Daniel Lemire's Blog

Science and Technology links (April 27th 2019)

Women who use oral contraceptives have a harder time recognizing emotions of others. Worldwide, livestock has ten times the mass of wild animals and nearly twice...

Speeding up a random-access function?
From Daniel Lemire's Blog

Speeding up a random-access function?

A common problem in software performance is that you are essentially limited by memory access. Let us consider such a function where you write at random locations...

The shopper’s dilemma: wait for new technology or buy now?
From Daniel Lemire's Blog

The shopper’s dilemma: wait for new technology or buy now?

Technology is accelerating. It took less than a decade for smartphone to go from 1% of the population to almost everyone. Television took longer. The phone even...

Science and Technology links (April 20th 2019)
From Daniel Lemire's Blog

Science and Technology links (April 20th 2019)

Early-career setback cause a performance improvement among those who persevere. This is related to the observation that immigrants are four times more likely to...

Parsing short hexadecimal strings efficiently
From Daniel Lemire's Blog

Parsing short hexadecimal strings efficiently

It is common to represent binary data or numbers using the hexadecimal notation. Effectively, we use a base-16 representation where the first 10 digits are 0, 1...

Science and Technology links (April 13th 2019)
From Daniel Lemire's Blog

Science and Technology links (April 13th 2019)

There is little evidence that digital screens are harmful to teenager’s mental health. If there is an effect, it is small. Cotton bags must be reused thousandsContinue...

Why are unrolled loops faster?
From Daniel Lemire's Blog

Why are unrolled loops faster?

A common optimization in software is to “unroll loops”. It is best explained with an example. Suppose that you want to compute the scalar product between two arrays...

Science and Technology links (April 6th 2019)
From Daniel Lemire's Blog

Science and Technology links (April 6th 2019)

In a randomized trial where people reduced their caloric intake by 15% for two years, it was found that reducing calories slowed aging. This is well documentedContinue...

Science and Technology links (March 30th 2019)
From Daniel Lemire's Blog

Science and Technology links (March 30th 2019)

As we age, we accumulate old and useless (senescent) cells. These cells should die, but they do not. Palmer et al. removed senescent cells in obese mice. They found...

Java is not a safe language
From Daniel Lemire's Blog

Java is not a safe language

The prime directive in programming is to write correct code. Some programming languages make it easy to achieve this objective. We can qualify these languages as...

Hasty comparison: Skylark (ARM) versus Skylake (Intel)
From Daniel Lemire's Blog

Hasty comparison: Skylark (ARM) versus Skylake (Intel)

In a previous post, I ran a benchmark on an ARM server and again on an Intel-based server.  My purpose was to indicate that if one function is faster, even much...

Technological aging
From Daniel Lemire's Blog

Technological aging

We are all familiar with biological aging. Roughly speaking, it is the loss of fitness that most animals undergo with time. At the present time, there is simply...

Science and Technology links (March 23rd 2019)
From Daniel Lemire's Blog

Science and Technology links (March 23rd 2019)

Half of American households subscribe to “Amazon Prime”, a “club membership” for Amazon customers with monthly fees. And about half of these subscribes buy something...

ARM and Intel have different performance characteristics: a case study in random number generation
From Daniel Lemire's Blog

ARM and Intel have different performance characteristics: a case study in random number generation

In my previous post, I reviewed a new fast random number generator called wyhash. I commented that I expected it to do well on x64 processors (Intel and AMD), but...

The fastest conventional random number generator that can pass Big Crush?
From Daniel Lemire's Blog

The fastest conventional random number generator that can pass Big Crush?

In software, we sometimes want to generate (pseudo-)random numbers. The general strategy is to have a state (e.g., a 64-bit integer) and modify it each time weContinue...

Don’t read your data from a straw
From Daniel Lemire's Blog

Don’t read your data from a straw

It is common for binary data to be serialized to bytes. Data structures like indexes can be saved to disk or transmitted over the network in such a form. Many serialized...

Science and Technology links (March 16th 2019)
From Daniel Lemire's Blog

Science and Technology links (March 16th 2019)

There is mounting evidence that clearing old cells (senescent cells) from old tissues has a rejuvenating effect. There are very few such cells in most cases, but...
Sign In for Full Access
» Forgot Password? » Create an ACM Web Account