Sign In

Communications of the ACM

Blogroll



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...

How I teach database design
From Daniel Lemire's Blog

How I teach database design

Most software runs on top of databases. These databases are organized logically, with a schema, that is a formal description. You have entities (your user), attributes...

My Science and Technology review for  2019
From Daniel Lemire's Blog

My Science and Technology review for 2019

I like to end every year with my selection of the most significant science and technology events. In 2019, you could buy a computer from Apple with 1.5 terabytes...

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

Science and Technology links (December 21st 2019)

The number of research papers with more than 1000 authors is increasingly quickly and reaching many fields. Researchers at Facebook use neural networks to solve...

Xor Filters: Faster and Smaller Than Bloom Filters
From Daniel Lemire's Blog

Xor Filters: Faster and Smaller Than Bloom Filters

In software, you frequently need to check whether some objects is in a set. For example, you might have a list of forbidden Web addresses. As someone enters a new...

A look back to my 2010 predictions for 2020
From Daniel Lemire's Blog

A look back to my 2010 predictions for 2020

Back in 2010, I wrote a post Who is going to need a database engine in 2020? Let me revisit some of my 2010 statements. Apple will sell desktops with 1 TB of RAM...

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

Science and Technology links (December 14th 2019)

The computation capacity needed by artificial intelligence doubles every 3.4 months. In parallel, we are making fast progress in hardware and software: what took...

Are 64-bit random identifiers free from collision?
From Daniel Lemire's Blog

Are 64-bit random identifiers free from collision?

It is common in software system to map objects to unique identifiers. For example, you might map all web pages on the Internet to a unique identifier. Often, these...

Amazon’s new ARM servers: Graviton 2
From Daniel Lemire's Blog

Amazon’s new ARM servers: Graviton 2

Most servers on the Internet run on x64 processors, mostly made by Intel. Meanwhile, most smartphones run ARM processors. From a business perspective, these are...

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

Science and Technology links (December 7th 2019)

Incredibly, there is a new simpler way to solve the quadratic formula. I used to rely on the completion of the square, but this is better! There is a video report...

AMD Zen 2 and branch mispredictions
From Daniel Lemire's Blog

AMD Zen 2 and branch mispredictions

Intel makes some of the very best processors many can buy. For a long time, its main rival (AMD) failed to compete. However, its latest generation of processors...

Instructions per cycle: AMD Zen 2 versus Intel
From Daniel Lemire's Blog

Instructions per cycle: AMD Zen 2 versus Intel

The performance of a processor is determined by several factors. For example, processors with a higher frequency tend to do more work per unit of time. PhysicsContinue...
Sign In for Full Access
» Forgot Password? » Create an ACM Web Account