主要观点:作者非常关心 RavenDB 的性能,过去 15 年的每个版本都在提升其性能,团队有专门任务寻找并解决瓶颈,甚至用到汇编语言。曾遇到在序列化文档时编译 LINQ 表达式导致性能浪费的问题,后进行了修复并进行性能测试。
关键信息:
- 过去 15 年 RavenDB 版本持续提升性能,有专门团队优化。
- 序列化文档时编译 LINQ 表达式浪费性能。
- 修复后的版本性能提升 1689 倍,从 33782ms 降至 20ms。
- 此问题在多数固定线程数的生产场景和基准测试中不易出现,只有线程创建和死亡时才会出现,如处理峰值时,线程池会创建新线程,初始会消耗大量 CPU 无意义。
- 代码可追溯至 2017 年,修复简单但在基准测试中难以体现实际收益,但仍是使 RavenDB 更好的一步。
重要细节: - 团队为提升性能会用 CPU 微码设计部分 RavenDB。
- 性能测试对比了修复前后版本的时间。
- 解释了问题出现的场景和原因。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。