Multicore CPUs are almost on any computer today, so it would be great to have “something” like ThinkMeta’s Fiber Pool:
[quote]The reason:
The Fiber Pool framework extends C++ software development by elements of asynchronous programming. It facilitates the implementation of linear executed program sections as asynchronous tasks and execute them also in asynchronous mode.
It’s the only multicore framework that can execute tasks with data dependencies on a single thread and thus it is the only framework that satisfies the fundamental rule “Scaling starts at 1” for the development of scalable applications.
The features:
[list]
[]a multithreaded task scheduler based on fibers[/]
[]multicore-capable user mode threads[/]
[]optimal processor utilization[/]
[]optimal memory utilization[/]
[]parallel file processing[/]
[]easy programming of asynchronous tasks[/]
[][color=#FF0000]a C++ class library with an extensive set of synchronization classes[/color][/][/list]
Fields of use:
Fiber Pool can be used in different fields: CPU-bound applications (e.g. multimedia) profit by the task scheduler, file-intensive applications (e.g. antivirus-software) by the I/O scheduler and memory-intensive applications by the implemented memory management.
An application receives maximum performance if it can exploit all three components.[/quote]