acm-header
Sign In

Communications of the ACM

Blogroll


bg-corner

Validating UTF-8 strings using as little as 0.7 cycles per byte
From Daniel Lemire's Blog

Validating UTF-8 strings using as little as 0.7 cycles per byte

Most strings found on the Internet are encoded using a particular unicode format called UTF-8. However, not all strings of bytes are valid UTF-8. The rules as to...

Is research sick?
From Daniel Lemire's Blog

Is research sick?

One of the most important database researchers of all time, Michael Stonebraker, has given a talk recently on the state of database research. I believe that many...

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

Science and Technology links (May 11th, 2018)

It looks like avoiding food most of the day, even if you do not eat less, is enough to partially rejuvenate you. Google researchers use deep learning to emulate...

How quickly can you check that a string is valid unicode (UTF-8)?
From Daniel Lemire's Blog

How quickly can you check that a string is valid unicode (UTF-8)?

Though character strings are represented as bytes (values in [0,255]), not all sequences of bytes are valid strings. By far the most popular character encodingContinue...

Science and Technology links (May 5th, 2018)
From Daniel Lemire's Blog

Science and Technology links (May 5th, 2018)

Oculus, a subsidiary of Facebook, has released its $200 VR headset (the Oculus Go). You can order it on Amazon. The reviews are good. It is standalone and wireless...

How fast can you parse JSON?
From Daniel Lemire's Blog

How fast can you parse JSON?

JSON has become the de facto standard exchange format on the web today. A JSON document is quite simple and is akin to a simplified form of JavaScript: { "Image"...

Is software prefetching (__builtin_prefetch) useful for performance?
From Daniel Lemire's Blog

Is software prefetching (__builtin_prefetch) useful for performance?

Many software performance problems have to do with data access. You could have the most powerful processor in the world, if the data is not available at the right...

Science and Technology links (April 29th, 2018)
From Daniel Lemire's Blog

Science and Technology links (April 29th, 2018)

Our heart regenerates very poorly. That is why many of us will die of a heart condition. Harvard researchers find the mice that exercise generate many more newContinue...

Why a touch of secrecy can help creative work
From Daniel Lemire's Blog

Why a touch of secrecy can help creative work

Though I am a long-time blogger and I spend most of my day talking or writing to other people… I am also quite secretive about the research that I am doing. There...

Enough with the intrusive updates!
From Daniel Lemire's Blog

Enough with the intrusive updates!

This week-end, I went to my gaming PC in my living room. The PC did not respond when I grabbed the mouse. Puzzled, I pressed the “on” button on the PC. Then I saw...

Science and Technology links (April 22nd, 2018)
From Daniel Lemire's Blog

Science and Technology links (April 22nd, 2018)

You probably can’t write the two forms of the letter g, even if you have seen them thousands and thousands of times. Some neurodegenerative diseases might result...

By how much does AVX-512 slow down your CPU? A first experiment.
From Daniel Lemire's Blog

By how much does AVX-512 slow down your CPU? A first experiment.

Intel is finally making available processors that support the fancy AVX-512 instruction sets and that can fit nicely in a common server rack. So I went to DellContinue...

Iterating in batches over data structures can be much faster…
From Daniel Lemire's Blog

Iterating in batches over data structures can be much faster…

We often need to iterate over the content of data structures. It is surprisingly often a performance bottleneck in big-data applications. Most iteration code works...

Introducing GapminderVR: Data Visualization in Virtual Reality
From Daniel Lemire's Blog

Introducing GapminderVR: Data Visualization in Virtual Reality

I am a big fan of sites such as Gapminder and Our World in Data. Such data visualization sites are like intellectual pornography. You want to know which countries...

Science and Technology links (April 13th, 2018)
From Daniel Lemire's Blog

Science and Technology links (April 13th, 2018)

Somewhat depressingly, there is very little evidence that you can improve people’s overall cognitive abilities: Although cognitive ability correlates with domain...

For greater speed, try batching your out-of-cache data accesses
From Daniel Lemire's Blog

For greater speed, try batching your out-of-cache data accesses

In software, we use hash tables to implement sets and maps. A hash table works by first mapping a key to a random-looking address in an array. In a recent series...

Science and Technology links (April 7th, 2018)
From Daniel Lemire's Blog

Science and Technology links (April 7th, 2018)

Mammals have a neocortex, some kind of upper layer on top of our ancestral brain. It is believed to be the key evolutionary trick that makes mammals smarts. Yet...

Caching hash values for speed (Swift-language edition)
From Daniel Lemire's Blog

Caching hash values for speed (Swift-language edition)

In my posts Should you cache hash values even for trivial classes? and When accessing hash tables, how much time is spent computing the hash functions?, I showed...

Science and Technology links (March 30th, 2018)
From Daniel Lemire's Blog

Science and Technology links (March 30th, 2018)

People who score higher on intelligence tests tend to have larger brains. Twin studies suggest the same genetic factors influence both brain size and intelligence...

Should you cache hash values even for trivial classes?
From Daniel Lemire's Blog

Should you cache hash values even for trivial classes?

Hash tables are a fundamental data structure in computing, used to implement maps and sets. In software, we use hash values to determine where objects are located...
Sign In for Full Access
» Forgot Password? » Create an ACM Web Account