This software provides efficient programming for multicore computing. Through its features, it enables developers to effectively use the processing power of multicore systems to optimize their applications' performance.
FastFlow is mainly intended to be used for efficient streaming applications, and it is a C++ template library. Using FastFlow, it is possible to develop high-level programming frameworks on multi-core platforms, such as Problem Solving Environment and general-purpose toolkits. One can also use it directly to create efficient multithreaded applications in a TBB fashion.
Currently, ongoing FastFlow-based framework development includes support for various features such as parallel Monte Carlo simulations, automatic parallelization for parallel macro data flow interpretation with skeletal programming, Intel TBB streaming network extensions, and a blazing-fast parallel memory allocator.
In several benchmark tests, FastFlow proved to be faster than other multi-core programming frameworks. Specifically, FastFlow outperformed OpenMP, Cilk, and TBB by 35%, 226%, and 96%, respectively, when running the Smith-Waterman algorithm for protein alignment. Moreover, FastFlow is open source under GPL.
In conclusion, FastFlow is a reliable and powerful software that provides lock-free MPMC FIFO queues and supports high-level programming frameworks on cache-coherent multi-core platforms. Its exceptional speed and efficiency makes it stand out from other multi-core programming frameworks, and its open-source availability makes it accessible to many developers.
Version 0.6.1: N/A