acm-header
Sign In

Communications of the ACM

Blogroll


Refine your search:
datePast Month
authorDaniel Lemire
bg-corner

Rolling your own fast matrix multiplication: loop order and vectorization
From Daniel Lemire's Blog

Rolling your own fast matrix multiplication: loop order and vectorization

If you must multiply matrices, you should use dedicated libraries. However, we sometimes need to roll our own code. In C++, you can quickly write your own Matrix...

Scan HTML faster with SIMD instructions: Chrome edition
From Daniel Lemire's Blog

Scan HTML faster with SIMD instructions: Chrome edition

Modern processors have instructions to process several bytes at once. Effectively all processors have the capability of processing 16 bytes one once. These instructions...

Quickly checking whether a string needs escaping
From Daniel Lemire's Blog

Quickly checking whether a string needs escaping

In software, we often represent strings by surrounding them with quotes ("). What happens if the string itself contains quotes? We then need to escape the string...

Never reason from the results of a sampling profiler
From Daniel Lemire's Blog

Never reason from the results of a sampling profiler

In the quest for software optimization, a trusty companion is the sampling profiler, a tool available in most programming languages. These profilers work unobtrusively...

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

Science and Technology links (May 25 2024)

Artificial intelligence is far more efficient at producing content than human beings, as far as carbon emissions go. Human brains got larger by over 5% betweenContinue...
Sign In for Full Access
» Forgot Password? » Create an ACM Web Account