Last updated July 07, 2009 20:34, by superoptimo
= OSLash : OS Absraction Layer Wiki =
OSLash is a cross-platform framework for developing powerful applications with high-performance requirements, by providing utilities for managing common aspects in computing applications like object management, serialization, and concurrency.
== Features ==
* Cross platform Multi-threading API which synchronization tools like mutexes, conditional variables, barriers, count-down latches and intrinsic atomic operations.
* Circular buffers for multi-task synchronization, solving the problem of '''1 Producer to 1 Consumer''' and '''1Producer to Multiple Consumers'''.
* A powerful '''ThreadPool''' implementation optimized for the '''Parallel-For''' pattern for executing a set of concurrent tasks in parallel.
* A highly efficient implementation of common data structures, containers and algorithms like vectors, lists, hash-table sets. Lightweight, portable and also has a very competitive performance performance comparing to c++ STL library.
* Memory management for multi-threaded applications with a custom version of the Scalable Allocator as the one implemented in the Intel Threading Building Blocks library. Different implementation, same principle. More readable and maintainable in code.
* Management of Global variables with dynamic memory allocation.
* Text and string utilities with regular expressions.
* Serialization of objects with JSON syntax and XML support.
* Time classes and functions for profiling.
* Filesystem utilities.
* Classes for object management with reference counting and smart pointers.
* A robust Math and numerics library for consistent and deterministic calculations across different platforms. Manages number serialization, and also fixed point arithmetics support.





