<commit_before># libPhenom

libPhenom is an eventing framework for building high performance and high
scalability systems in C

## System Requirements

libPhenom is known to compile and pass its test suite on:

 * Linux systems with `epoll`
 * OS X

libPhenom has been known to compile and pass its test suite on these
systems, but they have not been tried in a little while, so may require
a little bit of TLC:

 * BSDish systems that have the `kqueue(2)` facility, including
   FreeBSD 9.1 and OpenBSD 5.2
 * Illumos and Solaris style systems that have `port_create(3C)`.

libPhenom depends on:

 * [c-ares](http://c-ares.haxx.se) for DNS resolution.
   It expects to find it via `pkg-config`; you need to provide this in
   order for phenom to build successfully.
 * [Concurrency Kit](http://concurrencykit.org/) for its excellent
   concurrency primitives and key data structures.  We include CK
   with phenom.

libPhenom works best if built with GCC version 4.3 or later, but should
be able to build with any C99 compiler.

[![Build Status](https://travis-ci.org/facebook/libphenom.png)](https://travis-ci.org/facebook/libphenom)

## Facilities

 * Memory management with counters - record how much of which kinds
   of memory your application is using.
 * Jobs - decompose your application into portions of work
   and let the phenom scheduler manage getting them done
 * streaming I/O with buffers
 * Handy data structures (hash tables, lists, queues)
 * Variant data type to enable serialization and deserialization of
   JSON
 * A printf implementation with registerable object formatting

## Goals

 * Balance ease of use with performance<commit_msg>add note about autoconf and automake<commit_after># libPhenom

libPhenom is an eventing framework for building high performance and high
scalability systems in C

## System Requirements

libPhenom is known to compile and pass its test suite on:

 * Linux systems with `epoll`
 * OS X

libPhenom has been known to compile and pass its test suite on these
systems, but they have not been tried in a little while, so may require
a little bit of TLC:

 * BSDish systems that have the `kqueue(2)` facility, including
   FreeBSD 9.1 and OpenBSD 5.2
 * Illumos and Solaris style systems that have `port_create(3C)`.

libPhenom depends on:

 * [c-ares](http://c-ares.haxx.se) for DNS resolution.
   It expects to find it via `pkg-config`; you need to provide this in
   order for phenom to build successfully.
 * [Concurrency Kit](http://concurrencykit.org/) for its excellent
   concurrency primitives and key data structures.  We include CK
   with phenom.
 * **autoconf** and **automake** are required to build libPhenom

libPhenom works best if built with GCC version 4.3 or later, but should
be able to build with any C99 compiler.

[![Build Status](https://travis-ci.org/facebook/libphenom.png)](https://travis-ci.org/facebook/libphenom)

## Facilities

 * Memory management with counters - record how much of which kinds
   of memory your application is using.
 * Jobs - decompose your application into portions of work
   and let the phenom scheduler manage getting them done
 * streaming I/O with buffers
 * Handy data structures (hash tables, lists, queues)
 * Variant data type to enable serialization and deserialization of
   JSON
 * A printf implementation with registerable object formatting

## Goals

 * Balance ease of use with performance
{'fraction_non_alphanumeric': 0.06422287390029326, 'fraction_numerical': 0.005865102639296188, 'mean_word_length': 4.060830860534125, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 4, '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': '6046877', 'n_tokens_mistral': 989, 'n_tokens_neox': 942, 'n_words': 458}