acm-header
Sign In

Communications of the ACM

Blogroll


bg-corner

When accessing hash tables, how much time is spent computing the hash functions?
From Daniel Lemire's Blog

When accessing hash tables, how much time is spent computing the hash functions?

Suppose that you create a large set of objects that you store in a hash table. Let us take 10 millions objects. It is large enough that it probably will not fit...

When shuffling large arrays, how much time can be attributed to random number generation?
From Daniel Lemire's Blog

When shuffling large arrays, how much time can be attributed to random number generation?

It is well known that contemporary computers don’t like to randomly access data in an unpredictible manner in memory. However, not all forms of random accessesContinue...

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

Science and Technology links (March 23rd, 2018)

Sending your kids to highly selective schools is maybe less useful than you think: “However, once we controlled for factors involved in pupil selection, (…) the...

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

Science and Technology links (March 16th, 2018)

From the beginning of the 20th century to 2010, the life expectancy at birth for females in the United States increased by more than 32 years. The 3 major causes...

Iterating over hash sets quickly in Java
From Daniel Lemire's Blog

Iterating over hash sets quickly in Java

There are many ways in software to represent a set. The most common approach is to use a hash table. We define a “hash function” that takes as an input our elements...

Science and Technology links (March 9th, 2018)
From Daniel Lemire's Blog

Science and Technology links (March 9th, 2018)

The Audi A8, which goes on sale this year, will be the first car to offer Level 3 autonomy, which means that as a driver, you are expected to be able to relinquish...

Iterating over set bits quickly (SIMD edition)
From Daniel Lemire's Blog

Iterating over set bits quickly (SIMD edition)

Suppose that you have a long sequence of bits 10101011100000… you want to visit all the bits set to 1. That is, given 10101011100000, you would like to get theContinue...

Science and Technology links (March 2nd, 2018)
From Daniel Lemire's Blog

Science and Technology links (March 2nd, 2018)

Flashing lights might cure Alzheimer’s, according to Nature. There is no paradox: being obese is definitively bad for you. Class attendance predicts success inContinue...

Vectorized shifts: are immediates faster?
From Daniel Lemire's Blog

Vectorized shifts: are immediates faster?

Our processors are all equipped with vector instructions also called SIMD (single instruction multiple data). One common instruction is the “shift”. Roughly speaking...

Science and Technology links (February 24th, 2018)
From Daniel Lemire's Blog

Science and Technology links (February 24th, 2018)

Samsung is manufacturing and will sell 30TB hard drives. That’s huge. It is enough to record everything you see and hear for three years. Of the cases of early-onset...

Iterating over set bits quickly
From Daniel Lemire's Blog

Iterating over set bits quickly

A common problem in my line of work is to iterate over the set bits (bits having value 1) in a large array. My standard approach involves a “counting trailing zeroes...

Science and Technology links (February 16th, 2018)
From Daniel Lemire's Blog

Science and Technology links (February 16th, 2018)

In all countries, in all years–without exception–girls did better than boys in academic performance (PISA) tests. Vinod Khosla said: There are, perhaps, a few hundred...

Science and Technology links (February 9th, 2018)
From Daniel Lemire's Blog

Science and Technology links (February 9th, 2018)

We shed 50 million skin cells every day. A mutant crayfish reproduces by cloning. To my knowledge, this might be the largest animal to reproduce by cloning. Before...

Don’t underestimate the nerds
From Daniel Lemire's Blog

Don’t underestimate the nerds

I’m a little nerdy. According to my wife, I even look like a nerd. I am not very big. I have a long resume posted online, and I’ll proudly post my follower count...

Science and Technology links (February 2nd, 2018)
From Daniel Lemire's Blog

Science and Technology links (February 2nd, 2018)

Most mammals, including human beings, age according to a Gompertz curve. It is a fancy way of saying that your risk of death goes up exponential with age. Naked...

Picking distinct numbers at random: benchmarking a brilliant algorithm (JavaScript edition)
From Daniel Lemire's Blog

Picking distinct numbers at random: benchmarking a brilliant algorithm (JavaScript edition)

Suppose you want to choose m distinct integers at random within some interval ([0,n)). How would you do it quickly? I have a blog post on this topic dating back...

Science and Technology links (January 26th, 2018)
From Daniel Lemire's Blog

Science and Technology links (January 26th, 2018)

We have reached “peak coal” meaning that coal usage is going to diminish in the coming years. McGill professor Ishiang Shih has been accused by the US government...

Initializing arrays quickly in Swift: be wary of Sadun’s initializers
From Daniel Lemire's Blog

Initializing arrays quickly in Swift: be wary of Sadun’s initializers

Swift is Apple’s go-to programming language. It is the new default to build applications for iPhones. It also runs well on Linux. It is not as low-level as C or...

Microbenchmarking is hard: virtual machine edition
From Daniel Lemire's Blog

Microbenchmarking is hard: virtual machine edition

To better understand software performance, we often use small controlled experiments called microbenchmarks. In an earlier post, I remarked that it is hard to reason...

Science and Technology links (January 19th, 2018)
From Daniel Lemire's Blog

Science and Technology links (January 19th, 2018)

The Raspberry Pi 3, a $15-dollar computer that I use for various fun projects, is 15 times more powerful than the Cray-1 supercomputer, but it is 130,000 timesContinue...
Sign In for Full Access
» Forgot Password? » Create an ACM Web Account