Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

boost vs ACE C++ cross platform performance comparison?

Tags:

I am involved in a venture that will port some communications, parsing, data handling functionality from Win32 to Linux and both will be supported. The problem domain is very sensitive to throughput and performance.

I have very little experience with performance characteristics of boost and ACE. Specifically we want to understand which library provides the best performance for threading.

Can anyone provide some data -- documented or word-of-mouth or perhaps some links -- about the relative performance between the two?

EDIT

Thanks all. Confirmed our initial thoughts - we'll most likely choose boost for system level cross-platform stuff.

like image 611
Tim Avatar asked Jan 23 '09 22:01

Tim


1 Answers

Neither library should really have any overhead compared to using native OS threading facilities. You should be looking at which API is cleaner. In my opinion the boost thread API is significantly easier to use.

ACE tends to be more "classic OO", while boost tends to draw from the design of the C++ standard library. For example, launching a thread in ACE requires creating a new class derived from ACE_Task, and overriding the virtual svc() function which is called when your thread runs. In boost, you create a thread and run whatever function you want, which is significantly less invasive.

like image 144
Greg Rogers Avatar answered Oct 12 '22 12:10

Greg Rogers