acm-header
Sign In

Communications of the ACM

Blogroll


bg-corner

Parsing JSON quickly on tiny chips (ARM Cortex-A72 edition)
From Daniel Lemire's Blog

Parsing JSON quickly on tiny chips (ARM Cortex-A72 edition)

I own an inexpensive card-size ROCKPro64 computer ($60). It has a ARM Cortex-A72 processors, the same processors you find in the recently released Raspberry PiContinue...

Parsing JSON using SIMD instructions on the Apple A12 processor
From Daniel Lemire's Blog

Parsing JSON using SIMD instructions on the Apple A12 processor

Most modern processors have “SIMD instructions“. These instructions operate over wide registers, doing many operations at once. For example, you can easy subtract...

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

Science and Technology links (July 6th, 2019)

Jim Keller, the vice president of silicon engineering at Intel, is optimistic regarding the continued exponential progress in computing: “It’s going to keep going...

A fast 16-bit random number generator?
From Daniel Lemire's Blog

A fast 16-bit random number generator?

In software, we often need to generate random numbers. Commonly, we use pseudo-random number generators. A simple generator is wyhash. It is a multiplication followed...

Science and Technology links (June 29th 2019)
From Daniel Lemire's Blog

Science and Technology links (June 29th 2019)

Consuming pornography has no effect on sexual desire for one’s partner. Exercise may increase the likelihood that a woman will become pregnant. Consuming more protein...

Bounding the cost of the intersection between a small array and a large array
From Daniel Lemire's Blog

Bounding the cost of the intersection between a small array and a large array

Consider the scenario where you are given a small sorted array of integers (e.g., [1,10,100]) and a large sorted array ([1,2,13,51,…]). You want to compute theContinue...

Science and Technology links (June 22nd 2019)
From Daniel Lemire's Blog

Science and Technology links (June 22nd 2019)

An implemented chip can improve long-term memory. It is currently impractical, but a start-up company will try to bring this technology to market. Never beforeContinue...

How fast is getline in C++?
From Daniel Lemire's Blog

How fast is getline in C++?

A standard way to read a text file in C++ is to call the getline function. To iterate over all lines in file and sum up their length, you might do as follows: while...

What should we do with “legacy” Java 8 applications?
From Daniel Lemire's Blog

What should we do with “legacy” Java 8 applications?

Java is a mature programming language. It was improved over many successive versions. Mostly, new Java versions did not break your code. Thus Java was a great,Continue...

Science and Technology links (June 15th 2019)
From Daniel Lemire's Blog

Science and Technology links (June 15th 2019)

We know that naked mole rats are ageless mammals, in the sense that their mortality rate appear constant (not increasing with age). We believe that many sea creatures...

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

Science and Technology links (June 7th 2019)

There is a new drug reaching phase-3 clinical trials (the last phase) for knee osteoarthritis. It seems to be able to regrow cartilage. Bank of America analysts...

Nearly Divisionless Random Integer Generation On Various Systems
From Daniel Lemire's Blog

Nearly Divisionless Random Integer Generation On Various Systems

It is common in software to need random integers within a range of values. For example, you may need to pick an object at random in an array. Random shuffling algorithms...

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

Science and Technology links (June 1st 2019)

The DeepMind engineers built an artificial intelligence (a software program) that can learn to play 3D shooter games at super-human levels. Researchers have found...

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

Science and Technology links (May 25th 2019)

Oculus released the Quest, its latest VR goggles. It requires no wiring, no PC. It supports six degrees of freedom, so it is “true VR”. They cost less than $600...

Measuring the system clock frequency using loops (Intel and ARM)
From Daniel Lemire's Blog

Measuring the system clock frequency using loops (Intel and ARM)

In my previous post, Bitset decoding on Apple’s A12, I showed that Apple’s latest ARM-based processor can decode set bits out of a stream of words using 3 cycles...

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

Science and Technology links (May 18th 2019)

Though depression has genetic components, the previous studies that identified “depression genes” are probably all bogus. They are the results of poorly conducted...

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