Sign In

Communications of the ACM

Blogroll



Science and Technology links (August 17th 2019)
From Daniel Lemire's Blog

Science and Technology links (August 17th 2019)

Google may soon release an augmented-reality version of Google Maps for mobile phones. I have always found it difficult to identify the streets I see in an unfamiliar...

Faster threshold queries with cache-sensitive scancount
From Daniel Lemire's Blog

Faster threshold queries with cache-sensitive scancount

Suppose that you are given 100 sorted arrays of integers. You can compute their union or their intersection. It is a common setup in data indexing: the integers...

Science and Technology links (August 10th 2019
From Daniel Lemire's Blog

Science and Technology links (August 10th 2019

A short (less than one hour) online lesson improved grades among weaker students. The lesson taught the growth mindset: that intellectual abilities can be developed...

Science and Technology links (August 3rd 2019)
From Daniel Lemire's Blog

Science and Technology links (August 3rd 2019)

Reportedly, researchers in China are creating embryos that are part human and part monkey. Sickle cell disease is a genetic disease with no cure. In an attemptContinue...

JSON parsing: simdjson vs. JSON for Modern C++
From Daniel Lemire's Blog

JSON parsing: simdjson vs. JSON for Modern C++

JSON is the ubiquitous data format on the Internet. There is a lot of JSON that needs to be parsed and validated. As we just released the latest version of ourContinue...

A new release of simdjson: runtime dispatching, 64-bit ARM support and more
From Daniel Lemire's Blog

A new release of simdjson: runtime dispatching, 64-bit ARM support and more

JSON is a ubiquitous data exchange format. It is found everywhere on the Internet. To consume JSON, software uses tools called JSON parsers. Earlier this year,Continue...

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

Science and Technology links (July 27th 2019)

There are thick ice deposits on the Moon. Water in space is important as it can be used to create fuel and to sustain life. Most animals do not suffer heart attacks...

How fast can a BufferedReader read lines in Java?
From Daniel Lemire's Blog

How fast can a BufferedReader read lines in Java?

In an earlier post, I asked how fast the getline function in C++ could run through the lines in a text file. The answer was about 2 GB/s. That is slower than some...

Programming competition with $1000 in prizes: make my code readable!
From Daniel Lemire's Blog

Programming competition with $1000 in prizes: make my code readable!

Colm MacCárthaigh is organizing a programming competition with three 3 prizes: $500, $300, $200. The objective? Produce the most readable, easy to follow, and well...

Arbitrary byte-to-byte maps using ARM NEON?
From Daniel Lemire's Blog

Arbitrary byte-to-byte maps using ARM NEON?

Modern processors have fast instructions that can operate on wide registers (e.g., 128-bit). ARM processors, the kind of processors found in your phone, have such...

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

Science and Technology links (July 20th 2019)

Researchers solve the Rubik’s cube puzzle using machine learning (deep learning). There has been a rise in the popularity of “deep learning” following some major...

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

Science and Technology links (July 13th 2019)

Drinking juice increases your risk of having cancer. College completion rates are increasing and this may have to do with lower standards. Australia is going to...

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