Menu

HPL :: High Performance Linux :: General Abstraction Library

Alpha2hz

HPL is a C++ library of performance-oriented abstractions for the Linux platform. It is intended to be used on 64-bit x86 systems ('amd64' systems).

HPL provides a number of basic abstractions for writing complex, data-intensive applications, especially server applications. HPL includes the following classes of abstractions:
- Extensive sockets abstraction (TCP, UDP, multicast, epoll)
- Extensive logging system (to console, to file, etc)
- Extensive threading encapsulation (pthread-based)
- Extensive command-line parser (tokenization, conversion)
- Extensive TCP server (threaded, robust)
- Extensive thread synchronization (mutex, spin-lock, semaphore, etc)
- Basic HTTP server (partial HTTP/1.1 feature set)
- Basic system clock functions (get time, format)
- Basic console manipulation (colors, etc)
- Basic file info (file size, etc)
- Basic program interruption encapsulation (Ctrl+C, etc)
- Basic queue (inter/intra-thread, for fixed-length messages)
- Basic serial port I/O (TTY wrapper)
- Basic stream compression (for fixed-length messages)
- Basic text file I/O (reader, writer)
- Basic binary file I/O (reader, writer)

HPL was written and tested on 64-bit Gentoo Linux with GCC version 4.5.4.

Get the latest version: