Is ACE (C++ library) still used for high performan

2020-05-29 03:42发布

Being interested in high frequency trading/High performance computing I came across 'ACE':

http://www.cs.wustl.edu/~schmidt/ACE-overview.html

However, I noticed a lot of the papers on the website are from 1995 era and I wondered is this framework still used and if not, what was it's replacement?

Or has boost replaced this? Does ACE contain desired libraries that boost doesnt?

标签: c++ boost tcp ace
3条回答
对你真心纯属浪费
2楼-- · 2020-05-29 04:02

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).

查看更多
Animai°情兽
3楼-- · 2020-05-29 04:20

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).

查看更多
冷血范
4楼-- · 2020-05-29 04:22

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

查看更多
登录 后发表回答