|
Lunchbox 1.8.0
|
00001 Release Notes {#RelNotes} 00002 ============ 00003 00004 [TOC] 00005 00006 # Introduction {#Introduction} 00007 00008 Welcome to Lunchbox, a C++ library for multi-threaded programming. 00009 Lunchbox 1.8 adds major new features, most notably runtime-loadable 00010 compression plugins and an UnorderedIntervalSet container. 00011 00012 Lunchbox 1.8 is a feature release based on the 1.6 Lunchbox API. It is 00013 intended for all application developers creating high-preformance 00014 multi-threaded programs. Lunchbox 1.8 can be retrieved by downloading 00015 the 00016 [source code](http://www.equalizergraphics.com/downloads/Lunchbox-1.8.0.tar.gz) 00017 or any of the 00018 [precompiled packages](http://www.equalizergraphics.com/downloads/major.html). 00019 00020 ## Features {#Features} 00021 00022 Lunchbox provides the following major features to facilitate the 00023 development and deployment of multi-threaded applications: 00024 00025 * OS Abstraction: Utility classes abstracting common operating systems 00026 features, e.g., threads, locks, memory maps, shared library loading 00027 and condition variables. 00028 * High-Performance Primitives: Thread-safe utilities tuned for 00029 performance, e.g., atomic variables, spin locks and lock-free 00030 containers. 00031 * Utility classes: Helper primitives which are not in the standard 00032 library, e.g., logging, pools and random number generation. 00033 00034 # New in this release {#New} 00035 00036 Lunchbox 1.8 contains the following features, enhancements, bug fixes 00037 and documentation changes over Lunchbox 1.6: 00038 00039 ## New Features {#NewFeatures} 00040 00041 * Runtime-loadable compression and CPU-GPU transfer plugins 00042 ([18](https://github.com/Eyescale/Lunchbox/issues/18)) 00043 * UnorderedIntervalSet container 00044 00045 ## Enhancements {#Enhancements} 00046 00047 * Improved DSO, MemoryMap, MTQueue, uint128_t, UUID and LFVector APIs 00048 * searchDirectory uses boost::regex for file matching 00049 * [Hide pthread.h from API](https://github.com/Eyescale/Lunchbox/issues/26) 00050 00051 ## Optimizations {#Optimizations} 00052 00053 * Increased speed and compression ratio for 00054 [updated snappy compressor](https://github.com/Eyescale/Lunchbox/issues/19) 00055 * [Equalizer#140:](https://github.com/Eyescale/Equalizer/issues/140) Add 00056 LZ-variant byte compressors 00057 00058 ## Documentation {#Documentation} 00059 00060 The following documentation has been added or substantially improved 00061 since the last release: 00062 00063 * [API documentation](http://eyescale.github.io/Lunchbox-1.8/index.html) 00064 of the public Lunchbox API 00065 00066 ## Bug Fixes {#Fixes} 00067 00068 Lunchbox 1.8 includes various bugfixes over the 1.6 release, including 00069 the following: 00070 00071 * [22:](https://github.com/Eyescale/Lunchbox/issues/22) LFVector 00072 iterators with non-default number of slots do not work 00073 * [9:](https://github.com/Eyescale/Lunchbox/issues/9) Memory leak in 00074 Thread::setAffinity 00075 00076 ## Known Bugs {#Bugs} 00077 00078 The following bugs were known at release time. Please file a 00079 [Bug Report](https://github.com/Eyescale/Lunchbox/issues) if you find 00080 any other issue with this release. 00081 00082 * [6:](https://github.com/Eyescale/Lunchbox/issues/6) 00083 Condition::timedWait does not wait on early RHEL 6.1 versions 00084 00085 # About {#About} 00086 00087 Lunchbox is a cross-platform library, designed to run on any modern 00088 operating system, including all Unix variants and the Windows operating 00089 system. Lunchbox uses CMake to create a platform-specific build 00090 environment. The following platforms and build environments are tested: 00091 00092 * Linux: Ubuntu 12.04, 12.10, 13.04, RHEL 6 (Makefile, i386, x64) 00093 * Windows: 7 (Visual Studio 2008, i386, x64) 00094 * Mac OS X: 10.8 (Makefile, XCode, i386, x64) 00095 00096 The 00097 [API documentation](http://eyescale.github.io/Lunchbox-1.8/index.html) 00098 can be found on [eyescale.github.io](http://eyescale.github.io/). As 00099 with any open source project, the available source code, in particular 00100 the [unit tests](https://github.com/Eyescale/Lunchbox/tree/1.8/tests) 00101 provide a reference for developing applications. 00102 00103 Technical questions can be posted to the Equalizer 00104 [Developer Mailing List](http://www.equalizergraphics.com/cgi-bin/mailman/listinfo/eq-dev), 00105 or directly to 00106 [info@equalizergraphics.com](mailto:info@equalizergraphics.com?subject=Lunchbox%20question). 00107 00108 Commercial support, custom software development and porting services are 00109 available from [Eyescale](http://www.eyescale.ch). Please contact 00110 [info@eyescale.ch](mailto:info@eyescale.ch?subject=Lunchbox%20support) 00111 for further information. 00112 00113 # Errata
1.7.3