c++ hash map
我们在组织不同信号、不同策略时,往往需要一个容器存放对应合约标识的容器。这个容器要求具有一定的扩展性(即事先无法知晓容器大小),具有良好的插入效率、以及较高性能的查找性能。对于一般的算法,我们直接使用标准库里的哈希容器即可,这包括 std::unordered_map
。
然后,对于一个低延迟的交易系统,我们总是对性能有着极致的渴望,尽力开发性的数据容器,提升查找性能。
-
- 对于特化容器,如
<int, typename T>
,可以更加快速的实现查找
- 对于特化容器,如
-
- 对于较大对象,如
<std::string, typename T>
, 则尽量避免运行期的构造开销,例如在确认不同的合约标识肯定的唯一情况下,可以大胆使用类型转化,直接cast
为int
类型。
- 对于较大对象,如