项目名称:Java Open Exchange Project (jOpenExchg / jopenexchg)
项目当前版本:V0.01
项目简介:
基于GPL Licence的Java的开源证券交易撮合引擎项目。目前只是0.01版本,功能尚未完备。
已实现的撮合引擎核心功能有:
1) 限价订单的撮合及订单簿组织
2) 集合竞价价格计算及集合竞价撮合
3) 基于接口的订单簿事件通知机制
以下核心功能有待实现:
1) 市价订单的处理
2) 行情信息的实时更新
项目关键技术要点:
1) 通过选用适当的数据结构和算法来提升订单处理性能
2) 使用提升速度的编程技巧
3) 通过使用对象池将数量巨大的业务对象保存在老年代内存中,使得系统只需要做minor GC
预览版本的性能:
在普通的4GB内存,4核2.83GHz的CPU的PC机上运行的结果表明:对订单的撮合速度可以达到120万笔/秒以上。虽然此速度是在没有进行订单前端检查的前提下得到的,但由于订单前端检查可以由另外一个线程完成,因此顶多增加一些时延,对吞吐量的影响不会很大。
和实际系统中C/C++的对应实现相比,吞吐量并不差。
运行测试程序的命令行是:
java -Xmx800M -Xms800M -Xmn50M -Xss32K -XX:SurvivorRatio=10 -cp %CLASSPATH% org.jopenexchg.MatcherDemo