acm-header
Sign In

Communications of the ACM

Blogroll


bg-corner

Building better software with better tools: sanitizers versus valgrind
From Daniel Lemire's Blog

Building better software with better tools: sanitizers versus valgrind

We often have to write code using  permissive programming languages like C and C++. They tend to generate hard-to-debug problems that can crash your applications...

Bitset decoding on Apple’s A12
From Daniel Lemire's Blog

Bitset decoding on Apple’s A12

In my post Really fast bitset decoding for “average” densities, I reported on our work accelerating the decoding of bitsets. E.g., given a 64-bit register, youContinue...

Setting up a ROCKPro64 (powerful single-card computer)
From Daniel Lemire's Blog

Setting up a ROCKPro64 (powerful single-card computer)

A few months ago, I ordered ROCKPro64. If you are familiar with the Raspberry Pi, then it is a bit of the same… an inexpensive computer that comes in the form of...

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

Science and Technology links (May 11th 2019)

Bone marrow transplanted from young mice to very old (almost dying) mice extended the life of the old mice by 30%. The authors conclude that bone-marrow transplantation...

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...
Sign In for Full Access
» Forgot Password? » Create an ACM Web Account