<commit_before># The FastPFOR C++ library : Fast integer compression
[![Build Status](https://travis-ci.org/lemire/FastPFor.png)](https://travis-ci.org/lemire/FastPFor)
[![Build Status](https://img.shields.io/appveyor/ci/lemire/FastPFor.svg)](https://ci.appveyor.com/project/lemire/FastPFor)

by <NAME>, <NAME>, <NAME>, <NAME>, <NAME>, <NAME>, <NAME>, <NAME>, <NAME>, <NAME>, <NAME>

## What is this?

A research library with integer compression schemes.
It is broadly applicable to the compression of arrays of
32-bit integers where most integers are small.
The library seeks to exploit SIMD instructions (SSE)
whenever possible.

This library can decode at least 4 billions of compressed integers per second on most
desktop or laptop processors. That is, it can decompress data at a rate of 15 GB/s.
This is significantly faster than generic codecs like gzip, LZO, Snappy or LZ4.

It is used by the zsearch engine (http://victorparmar.github.com/zsearch/)
as well as in GMAP and GSNAP (http://research-pub.gene.com/gmap/). It
has been ported to Java (https://github.com/lemire/JavaFastPFOR),
C# (https://github.com/Genbox/CSharpFastPFOR)  and 
Go (https://github.com/reducedb/encoding). The Java port is used by<commit_msg>Add LGTM.com code quality badges<commit_after># The FastPFOR C++ library : Fast integer compression
[![Build Status](https://travis-ci.org/lemire/FastPFor.png)](https://travis-ci.org/lemire/FastPFor)
[![Build Status](https://img.shields.io/appveyor/ci/lemire/FastPFor.svg)](https://ci.appveyor.com/project/lemire/FastPFor)
[![Code Quality: Cpp](https://img.shields.io/lgtm/grade/cpp/g/lemire/FastPFor.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/lemire/FastPFor/context:cpp)
[![Total Alerts](https://img.shields.io/lgtm/alerts/g/lemire/FastPFor.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/lemire/FastPFor/alerts)

by <NAME>, <NAME>, <NAME>, <NAME>, <NAME>, <NAME>, <NAME>, <NAME>, <NAME>, <NAME>, <NAME>

## What is this?

A research library with integer compression schemes.
It is broadly applicable to the compression of arrays of
32-bit integers where most integers are small.
The library seeks to exploit SIMD instructions (SSE)
whenever possible.

This library can decode at least 4 billions of compressed integers per second on most
desktop or laptop processors. That is, it can decompress data at a rate of 15 GB/s.
This is significantly faster than generic codecs like gzip, LZO, Snappy or LZ4.

It is used by the zsearch engine (http://victorparmar.github.com/zsearch/)
as well as in GMAP and GSNAP (http://research-pub.gene.com/gmap/). It
has been ported to Java (https://github.com/lemire/JavaFastPFOR),
C# (https://github.com/Genbox/CSharpFastPFOR)  and 
Go (https://github.com/reducedb/encoding). The Java port is used by
{'fraction_non_alphanumeric': 0.13505747126436782, 'fraction_numerical': 0.005747126436781609, 'mean_word_length': 4.850840336134453, 'pattern_counts': {'":': 0, '<': 25, '<?xml version=': 0, '>': 25, 'https://': 18, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2418453', 'n_tokens_mistral': 962, 'n_tokens_neox': 911, 'n_words': 286}