Sign In

Communications of the ACM

Blogroll



Science and Technology links (March 28th 2020)
From Daniel Lemire's Blog

Science and Technology links (March 28th 2020)

In a laboratory, we know how to turn any of our cells into youthful stem cells using something called the Yamanaka. If you expose cells to such factors for a short...

Avoiding cache line overlap by replacing one 256-bit stores with two 128-bit stores
From Daniel Lemire's Blog

Avoiding cache line overlap by replacing one 256-bit stores with two 128-bit stores

Memory is organized in cache lines, frequently blocks of 64 bytes. On Intel and AMD processors, you can store and load memory in blocks of various sizes, such as...

Number of atoms in the universe versus floating-point values
From Daniel Lemire's Blog

Number of atoms in the universe versus floating-point values

It is estimated that there are about 1080 atoms in the universe. The estimate for the total number of electrons is similar. It is a huge number and it far exceeds...

Science and Technology links (March 14th 2020)
From Daniel Lemire's Blog

Science and Technology links (March 14th 2020)

Mothers, but not fathers, possess gender-related implicit biases about emotion expression in children. Chinese researchers used to be offered cash rewards for publishing...

Fast float parsing in practice
From Daniel Lemire's Blog

Fast float parsing in practice

In our work parsing JSON documents as quickly as possible, we found that one of the most challenging problem is to parse numbers. That is, you want to take theContinue...

Science and Technology links (March 7th 2020)
From Daniel Lemire's Blog

Science and Technology links (March 7th 2020)

The benefits of flu vaccines in healthy adults is modest. They do not reduce neonatal death, hospitalisations, or working day lost. It does not seem more helpful...

Will calling “free” or “delete” in C/C++ release the memory to the system?
From Daniel Lemire's Blog

Will calling “free” or “delete” in C/C++ release the memory to the system?

In the C programming language, we typically manage memory manually. A typical heap allocation is a call to malloc followed by a call to free. In C++, you have more...

Science and Technology links (February 29th 2020)
From Daniel Lemire's Blog

Science and Technology links (February 29th 2020)

No one really understands how planes fly. This puts a dent in the model whereas inventions follows theory. Physician salaries and diagnostic tests account for 4...

Fast divisionless computation of binomial coefficients
From Daniel Lemire's Blog

Fast divisionless computation of binomial coefficients

Suppose that I give you a set of n objects and I ask you to pick k distinct objects, thus forming a new subset. How many such subsets are there? If you have taken...

Science and Technology links (February 22nd 2020)
From Daniel Lemire's Blog

Science and Technology links (February 22nd 2020)

In a large cohort study, the highest probability of reaching 90 years old was found for those drinking between 5g and 15 g of alcohol per day. This does not mean...

My thoughts on how research funding is attributed in Canada to Computer Science
From Daniel Lemire's Blog

My thoughts on how research funding is attributed in Canada to Computer Science

In Canada, most computer science professors seek funding with NSERC, the main Canadian funding agency for science and engineering. It is more or less the equivalent...

Science and Technology links (February 8th 2020)
From Daniel Lemire's Blog

Science and Technology links (February 8th 2020)

It is often believed that radiations are bad for you. To the contrary, David et al. report that life expectancy is approximately 2.5 years longer in people living...

Research should not stop with the research paper
From Daniel Lemire's Blog

Research should not stop with the research paper

The practice of academic research is based on the production of formal documents that undergo formal reviewers by peers. We routinely evaluate academics for jobs...

Science and Technology links (February 1st 2019)
From Daniel Lemire's Blog

Science and Technology links (February 1st 2019)

Almost all climate predictions are based on the so-called “business as usual” model, yet this model is based on assumptions that are unrealistically pessimistic...

Cost of a thread in C++ under Linux
From Daniel Lemire's Blog

Cost of a thread in C++ under Linux

Almost all our computers are made of several processing cores. Thus it can be efficient to “parallelize” expensive processing in a multicore manner. That is, instead...

Science and Technology links (January 25th 2020)
From Daniel Lemire's Blog

Science and Technology links (January 25th 2020)

Scientists found a way to increase the production of new neurons in the brains of mice, effectively rejuvenating the brains of old mice. (Source: Nature) How many...

Filling large arrays with zeroes quickly in C++
From Daniel Lemire's Blog

Filling large arrays with zeroes quickly in C++

Travis Downs reports that some C++ compilers have trouble filling up arrays with values at high speed. Typically, to fill an array with some value, C++ programmers...

Allocating large blocks of memory: bare-metal C++ speeds
From Daniel Lemire's Blog

Allocating large blocks of memory: bare-metal C++ speeds

In a previous post, I benchmarked the allocation of large blocks of memory using idiomatic C++. I got a depressing result: the speed could be lower than 2 GB/s....

How fast can you allocate a large block of memory in C++?
From Daniel Lemire's Blog

How fast can you allocate a large block of memory in C++?

In C++, the most basic memory allocation code is just a call to the new operator: char *buf = new char[s]; According to a textbook interpretation, we just allocated...

Science and Technology links (January 11th 2020)
From Daniel Lemire's Blog

Science and Technology links (January 11th 2020)

The extra wealth that ones acquires by attending college is now estimated to be indistinguishable from zero. The authors control for the parent’s education andContinue...
Sign In for Full Access
» Forgot Password? » Create an ACM Web Account