对高频交易/高性能计算感兴趣,我遇到了“ACE”:
http://www.cs.wustl.edu/~schmidt/ACE-overview.html
但是,我注意到网站上的很多论文都是 1995 年的,我想知道这个框架是否仍在使用,如果没有,它的替代品是什么?
还是boost取代了这个?ACE 是否包含增强的所需库?
对高频交易/高性能计算感兴趣,我遇到了“ACE”:
http://www.cs.wustl.edu/~schmidt/ACE-overview.html
但是,我注意到网站上的很多论文都是 1995 年的,我想知道这个框架是否仍在使用,如果没有,它的替代品是什么?
还是boost取代了这个?ACE 是否包含增强的所需库?
如果您查看他们的subversion 存储库,现在似乎 ACE 并没有进行太多开发,可能只是错误修复或次要扩展。另一方面,ACE 是同一组其他框架的基础,这些框架确实更活跃。无论如何,论坛显示了相关的活动和对 ACE 的持续兴趣。
至于您关于 ACE 与 boost 的问题,我认为这两个库并不相同。ACE 旨在实现跨平台高级网络(甚至在实时和嵌入式系统上),提供特定模式,如反应器、服务配置器、完成令牌、内存管理等。“可移植性”层(ACEOS,如果我没记错的话)只是一个基本层,但在我看来,它并不是当今 ACE 的真正价值主张,而是用于启用其他子系统。
总的来说,我认为对于高级网络模式,如POSA2中描述的那些,ACE 是一个不错的选择。如果您只需要操作系统上的抽象层,那么 boost 就是要走的路(更现代且被广泛采用)。
虽然 ACE 很久以前就引起了人们的兴趣,但最近的服务器设计提供了更高的速度(更低的延迟)和多核可扩展性(更高的并发性)。
如果您担心延迟(高频交易运营商为每一微秒而战),那么请自己做基准测试。(weighttp
ApacheBench 兼容)压力工具是我见过的最有效的工具(使用“-t 4”选项来使用 4 个工作线程,而不是像 AB 那样的 4 秒测试)。
由于Apachebench
是单线程工具,它不会使 SMP 服务器饱和(多线程或多进程)。
我知道这是一个旧帖子,但对于那些想知道 ACE 仍在开发中的人: