- 博客(16)
- 收藏
- 关注
原创 【事件驱动框架基础】
首先,需要定义可以被触发和监听的事件。这些事件可以是任何事情,如用户输入、文件操作完成、接收网络数据等。// 事件类型定义,例如: enum EventType {
2024-05-26 00:13:29
423
原创 Optiver - Trading at the close 赛后总结
本次比赛前期花费的时间精力很多,但是到后期陷入了瓶颈,无法再提高精度。单纯修改优化模型的收益比不上挖掘特征的收益,并且训练时间很长。而且到后期很难再挖出新的有效的特征来,有些有效的特征组合再一起,效果反而变差了。由于后期事务繁多,也没有时间继续研究了,成绩不是很好,但是这个过程还是收益颇多,所以写博客记录下来。
2024-02-18 14:14:14
953
5
原创 解决cmake链接不上共享库的问题
cmake 构建报错,找不到 thostmduserapi_se thosttraderapi_se这两个共享库。经过检查,这两个库存在,且用cmake把他们的路径链接上了。
2024-01-19 14:02:02
620
原创 【低时延】nanolog高速日志库的介绍和使用
是一个C++的日志库,其亮点如下nanolog 设计了零复制的字符串文字处理机制。这意味着在记录日志时,nanolog 不会复制字符串文字的内容,而是直接引用它们。这有助于减少内存的使用,因为字符串文字不需要额外的复制。nanolog 对整数和双精度数的转换进行了延迟处理。这意味着当你记录一个包含整数或双精度数的日志时,nanolog 不会立即将它们转换为 ASCII,而是延迟到真正需要输出日志时才进行转换。这种延迟转换可以提高性能,并减少不必要的计算开销。
2024-01-18 23:08:25
1615
1
原创 【低时延】无锁环形缓冲lock-free ringbuff
无锁环形缓冲(lock-free ring buffer)是一种数据结构,用于在多线程环境下实现高效的数据传递,而无需使用传统的锁机制。链接里的ringbuff对insert、remove等函数进行了重载,实现可以移除一定数量的元素,移除一个数量并将其返回等等功能,功能非常丰富,下面对其的使用进行简单说明。: 既包含 acquire 的语义,也包含 release 的语义,适用于读取和写入都存在的操作。: 最严格的顺序,所有操作按照全局的全序关系进行,提供了最强的一致性保证。的环形缓冲,其中存储了。
2024-01-14 14:30:54
990
1
原创 【低延时】线程绑定CPU
当一个线程被绑定到特定的 CPU 核心后,该核心上的执行资源就专门用于执行该线程,不会被调度器切换去执行其他线程。这样可以避免与其他线程的竞争,减少上下文切换的开销,提高执行效率。
2024-01-13 16:43:23
869
1
原创 共享库的构建与使用
首先需要编写库的源码calculator.cpp,写他的CMakeList.txt来构建文件结构如上,其中bin用来存储生成的共享库文件。
2024-01-10 20:51:48
996
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人