Welcome to Lunchbox, a C++ library for multi-threaded programming. Lunchbox 1.8 adds major new features, most notably runtime-loadable compression plugins and an UnorderedIntervalSet container.
Lunchbox 1.8 is a feature release based on the 1.6 Lunchbox API. It is intended for all application developers creating high-preformance multi-threaded programs. Lunchbox 1.8 can be retrieved by downloading the source code or any of the precompiled packages.
Lunchbox provides the following major features to facilitate the development and deployment of multi-threaded applications:
- OS Abstraction: Utility classes abstracting common operating systems features, e.g., threads, locks, memory maps, shared library loading and condition variables.
- High-Performance Primitives: Thread-safe utilities tuned for performance, e.g., atomic variables, spin locks and lock-free containers.
- Utility classes: Helper primitives which are not in the standard library, e.g., logging, pools and random number generation.
New in this release
Lunchbox 1.8 contains the following features, enhancements, bug fixes and documentation changes over Lunchbox 1.6:
- Runtime-loadable compression and CPU-GPU transfer plugins (18)
- UnorderedIntervalSet container
- Improved DSO, MemoryMap, MTQueue, uint128_t, UUID and LFVector APIs
- searchDirectory uses boost::regex for file matching
- Hide pthread.h from API
The following documentation has been added or substantially improved since the last release:
Lunchbox 1.8 includes various bugfixes over the 1.6 release, including the following:
- 22: LFVector iterators with non-default number of slots do not work
- 9: Memory leak in Thread::setAffinity
The following bugs were known at release time. Please file a Bug Report if you find any other issue with this release.
- 6: Condition::timedWait does not wait on early RHEL 6.1 versions
Lunchbox is a cross-platform library, designed to run on any modern operating system, including all Unix variants and the Windows operating system. Lunchbox uses CMake to create a platform-specific build environment. The following platforms and build environments are tested:
- Linux: Ubuntu 12.04, 12.10, 13.04, RHEL 6 (Makefile, i386, x64)
- Windows: 7 (Visual Studio 2008, i386, x64)
- Mac OS X: 10.8 (Makefile, XCode, i386, x64)
The API documentation can be found on eyescale.github.io. As with any open source project, the available source code, in particular the unit tests provide a reference for developing applications.
Technical questions can be posted to the Equalizer Developer Mailing List, or directly to firstname.lastname@example.org.
Commercial support, custom software development and porting services are available from Eyescale. Please contact email@example.com for further information.