快速修复与固定天线

问题描述 投票:0回答:5

有两个主要的修复引擎:

它们各自的缺点和优点是什么?我知道固定天线更快,但还有什么?

QuickFix 项目还活着吗?更新日志显示对 QuickFix 的最后一次提交是在 2010-04-06 06:22,这是否意味着该项目已经死亡?

quickfix
5个回答
3
投票

正如 DumbCoder 所说,主要的 FIX 引擎远不止 2 个。 卡梅伦往往被多家投资银行聘用。 Rapid Addition 还拥有备受推崇的 FIX 引擎 - 还有更多。 QuickFix 非常受欢迎,受到许多个人和交易企业的依赖和使用,除非您对延迟非常敏感,否则它可能是一个绝佳的选择。

总是可以选择编写自己的。 这取决于您的用例。 如果您对延迟不太敏感(关心微秒),那么 QuickFix 可能是您最好的选择。 否则,如果您确实关心每一微秒并希望处理每条消息的延迟更可预测,那么 QuickFix 将不适合您,您要么想要一个低延迟的商业解决方案(例如 Rapid Addition Cheetah),要么想要编写自己的解决方案根据您的使用场景进行优化。 请注意,编写自己的解决方案来击败商业解决方案的性能将需要一些时间,并且并非易事,因为许多商业引擎现在都具有高性能。


3
投票

在对 QuickFix、Antenna、Onix、Rapid Addition 和 Cameron 进行广泛的基准测试后,我们选择了 Onix。 www.onixs.biz.

我们对 Java、C++ 和 .net 解决方案进行了基准测试,并已在 RHEL5 上使用 C++。


1
投票

我运行了 QuickFix C++ 中包含的性能测试代码并得到了以下结果。据我所知,这看起来很棒。我运行的是商品家庭桌面,而不是大商店使用的高端交易服务器。构建是使用 VS 2012 进行全面优化完成的。

G:\projects\quickfix est 释放\pt>pt.exe -p 15000 -c 1000000

将整数转换为字符串:

num: 1000000, seconds: 0.016, num_per_second: 6.25e+007

将字符串转换为整数:

num: 1000000, seconds: 0, num_per_second: 1.#INF

将双精度数转换为字符串:

num: 1000000, seconds: 0.5, num_per_second: 2e+006

将字符串转换为双精度:

num: 1000000, seconds: 0.219, num_per_second: 4.56621e+006

创建心跳消息:

num: 1000000, seconds: 0.75, num_per_second: 1.33333e+006

识别消息类型:

num: 1000000, seconds: 0.062, num_per_second: 1.6129e+007

将心跳消息序列化为字符串:

num: 1000000, seconds: 0.516, num_per_second: 1.93798e+006

从字符串序列化心跳消息:

num: 1000000, seconds: 1.094, num_per_second: 914077

创建 NewOrderSingle 消息:

num: 1000000, seconds: 2.312, num_per_second: 432526

将 NewOrderSingle 消息序列化为字符串:

num: 1000000, seconds: 0.75, num_per_second: 1.33333e+006

从字符串序列化 NewOrderSingle 消息:

num: 1000000, seconds: 3.188, num_per_second: 313676

创建 QuoteRequest 消息:

num: 1000000, seconds: 41.547, num_per_second: 24069.1

将 QuoteRequest 消息序列化为字符串:

num: 1000000, seconds: 3.734, num_per_second: 267809

从字符串序列化 QuoteRequest 消息:

num: 1000000, seconds: 26.672, num_per_second: 37492.5

从 QuoteRequest 消息中读取字段:

num: 1000000, seconds: 15.89, num_per_second: 62932.7

存储 NewOrderSingle 消息:

num: 1000000, seconds: 3.485, num_per_second: 286944

在没有数据字典的情况下验证 NewOrderSingle 消息:

num: 1000000, seconds: 0.11, num_per_second: 9.09091e+006

使用数据字典验证 NewOrderSingle 消息:

G:\projects\quickfix est 释放\pt>


0
投票

不一定是 2 个主要的 FIX 引擎。 Cameron 是另一个广泛使用的 FIX 引擎。许多金融公司确实开发了自己的 FIX 引擎。 FIX 引擎本身并没有优缺点列表,因为它们中的大多数不是以相同的方式构建的,而且在开发过程中也会出现其他因素。唯一的方法是根据您的具体需求自行评估。

Quickfix 项目几乎还活着。确实存在一些为 Quickfix 提供支持的商业公司,可能在 Quickfix 网站上有。而且你确实有源代码,没有什么可以阻止你自己修改。


0
投票

我找到了一个很棒的“组合” - FIX Antenna .NET Core。它是一款兼具速度和灵活性的高性能开源 FIX 引擎

您可以在此处查看详细的性能基准(包括 FIX Antenna VS QuickFIX):https://b2bits.atlassian.net/wiki/spaces/B2BITS/pages/6071241/Benchmarking+of+FIX+Antenna+.NET+Core+0.9 .2+Linux

© www.soinside.com 2019 - 2024. All rights reserved.