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: