Being interested in high frequency trading/High performance computing I came across \'ACE\':
http://www.cs.wustl.edu/~schmidt/ACE-overview.html
However, I notice
If you have a look at their subversion repository, it does not seem that ACE is undergoing much development nowadays, possibly just bug fixing or minor extensions. On the other hand, ACE is the foundations of other frameworks by the same group that indeed are more active. Anyway, the discussion forum shows relevant activity and constant interest in ACE.
As to your question about ACE vs. boost, I don't think that the two libraries are on a par. ACE is aimed at enabling cross-platform advanced networking (even on real-time and embedded systems), offering specific patterns like reactor, service configurator, completion tokens, memory management and so on. The "portability" layer (ACEOS, if I am not wrong) is just a basic layer, but it is not, in my opinion, the real value proposition of ACE nowadays, rather it is there to enable the other subsystems.
Overall, I think that for advanced networking patterns, like those described in POSA2, ACE is a good choice. If you need just an abstraction layer over the OS, boost is the way to go (more modern and widely adopted).
While ACE has created interest a long time ago, more recent server designs offer higher speed (lower latency) and multi-core scalability (higher concurrency).
If you are concerned about latency (high-frequency trading operators fight for every microsecond), then do your own benchmarks. The weighttp
(ApacheBench compatible) stress tool is the most efficient I have seen (use the "-t 4" option to use 4 worker threads instead of a 4-second test like for AB).
Since Apachebench
is a single-thread tool, it will not be able to saturate a SMP server (either muti-thread or multi-process).
I know it is a old post but for those who want to know ACE is still in development :
https://github.com/DOCGroup/ATCD/tree/master/ACE