This is a repository for the code posted on my blog
C C++ Java Python Swift Go Other
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
2010 Minor portability update Dec 16, 2013
2011 Fixing how time is measured Dec 9, 2013
2012 Locking must adide by alignment. Jan 24, 2017
2014 Missing file Dec 18, 2014
2015/01/08 Unary encoding: remove unused variable Aug 27, 2015
2016 Unrolled version Dec 30, 2016
2017 Using SWAR Feb 15, 2017
extra Saving. Feb 14, 2017
math/finitefields/findconvenientirred Saving... Jan 17, 2017
README blog post appeared May 31, 2012


Code used on Daniel Lemire's blog

by D. Lemire


This code is meant to illustrate ideas
that I present on my blog. Don't expect or
ask for industrial-strength software. It is
experimental code: it can be wrong, slow, poorly
coded and poorly documented.

I do maintain some software meant for actual
use, with bona fide unit testing and documentation.
The code here does not fit in this category.

== Corresponding blog posts ==

Code is provided in support of the following blog posts:
  Data alignment for speed: myth or reality?

  Fast bitmap decoding
  Bit packing is fast, but integer logarithm is slow

  How fast is bit packing?

  Bitmaps are surprisingly efficient

  Use random hashing if you care about security?

  The language interpreters are the new machines

  3 surprising facts about the computation of scalar products

  Make your own programmable digital thermometer in an hour

  For your in-memory databases, do you really need an index?"

  Is multiplication slower than addition?

  Sorting is fast and useful

== languages ==

You'll find code written in :

- C
- C++
- Java
- Python

and possibly other languages.

== licensing ==

Unless otherwise stated, I make no copyright claim
on this code: you may consider it to be in the public

Don't bother forking this code: just steal it.